home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
short11.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
122KB
|
6,680 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "short.h"
/*No:E_DEBUG.compound*/
T0*oBC11run_control=NULL;
/*No:E_DEBUG.start_position*/
T0* r208add_comment(T208* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else {/*AT*//*[IF*/
if((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(1)){
R=(T0*)C;
}
else{
{T213*n=malloc(sizeof(*n));
*n=M213;
r213make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r208to_runnable(T208* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*16*/)==((void*)(NULL))){
C->_current_type=a1;
/*[IF*/
if(r73debug_check((T73*)(oBC11run_control))){
/*[IF*/
if(((C)->_compound/*12*/)!=((void*)(NULL))){
C->_compound=r204to_runnable((T204*)((C)->_compound/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
R=(T0*)C;
}
else{
{T208*n=malloc(sizeof(*n));
*n=M208;
r208make(n,(C)->_start_position/*4*/,(C)->_list/*8*/,(C)->_compound/*12*/);
R=(T0*)n;
}
R=r208to_runnable(((T208*)R),a1);
}
/*FI]*/
return R;
}
/*No:E_DEBUG.current_type*/
/*No:E_DEBUG.end_mark_comment*/
void r208make(T208* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_list=a2;
C->_compound=a3;
}
/*No:E_DEBUG.list*/
/*No:CST_ATT_INTEGER.base_class*/
/*No:CST_ATT_INTEGER.value_mem*/
T0* r201start_position(T201* C){
T0* R=NULL;
R=X77start_position(/*(IRF4.6first_name*/r79item(((T79*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r201is_merge_with(T201* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(/*(IRF4.1arguments*/NULL/*)*/),X87arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in(X87result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(X87arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r201merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_INTEGER.first_name*/
/*No:CST_ATT_INTEGER.em1*/
/*No:CST_ATT_INTEGER.header_comment*/
/*No:CST_ATT_INTEGER.names*/
/*No:CST_ATT_INTEGER.result_type*/
/*No:CST_ATT_INTEGER.code_require*/
/*No:CST_ATT_INTEGER.make_e_feature*/
void r201add_into(T201* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r69base_class((T69*)(X77start_position(r79item((T79*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r79count((T79*)((C)->_names/*8*/))))) {
_fn=r79item((T79*)((C)->_names/*8*/),_i);
/*[IF*/
if(r86has(((T86*)a1),X77to_key(_fn))){
_fn=/*X87first_name*/((T0*)/*(IRF4.6first_name*/r79item(((T79*)(((T187*)(r86at(((T86*)a1),X77to_key(_fn))))->_names/*8*/)),1)/*)*/);
r67add_position(X77start_position(_fn));
r67add_position(X77start_position(r79item((T79*)((C)->_names/*8*/),_i)));
r67error((T67*)(oBC11eh),((T0*)ms87_41905));
/*[IRF3.6append*/{T0* b1=X77to_string(_fn);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
else{
r86put(((T86*)a1),(T0*)C,X77to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r201can_hide(T201* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r201error(r201start_position(C),((T0*)ms87_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/r67add_position(X87start_position(a1));
r201error(r201start_position(C),((T0*)ms87_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r201merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_INTEGER.ensure_assertion*/
T0* r201try_to_undefine(T201* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r67add_position(X77start_position(a1));
_fn2=r79feature_name((T79*)((C)->_names/*8*/),X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X77undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r201try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X270set_clients*//*[IRF3.3set_clients*/((((T273*)(((T273*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r201merge_header_comments(C,R);
}
else{
r22fatal_undefine(((T22*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_INTEGER.is_deferred*/
T0*oBC87assertion_collector=NULL;
/*No:CST_ATT_INTEGER.set_clients*/
/*No:CST_ATT_INTEGER.value*/
T0*oBC11small_eiffel=NULL;
/*No:CST_ATT_INTEGER.nb_errors*/
T0* r201to_run_feature(T201* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(a1);
R=r310at(((T310*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 326:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
r326make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r201merge_header_comments(T201* C,T0* a1){
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/);
}
else if((/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X87set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_INTEGER.arguments*/
T0*oBC87header_comment_memory=NULL;
/*No:CST_ATT_INTEGER.require_assertion*/
T0*oBC87require_collector=NULL;
T0* r201try_to_undefine_aux(T201* C,T0* a1,T0* a2){
T0* R=NULL;
r67add_position(r201start_position(C));
r201error(X77start_position(a1),((T0*)ms189_99414));
r22fatal_undefine(((T22*)a2),a1);
return R;
}
/*No:CST_ATT_INTEGER.fz_dot*/
void r201error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r201make(T201* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T201*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}
void r201collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r315fast_has((T315*)(oBC87require_collector),_er))){
r315add_last((T315*)(oBC87require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_INTEGER.set_header_comment*/
/*No:CST_ATT_INTEGER.clients*/
/*No:EIFFEL_PARSER.last_instruction*/
/*No:EIFFEL_PARSER.fz_frozen*/
T0* r66a_alias(T66* C){
T0* R=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2685))){
/*[IF*/
if(r66a_manifest_string(C)){
R=((T158*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/;
}
else{
r66fcp(C,((T0*)ms66_63264));
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r66a_type_formal_generic(T66* C){
T6 R=0;
T2 _rank=0;
T0* _cn=NULL;
T0* _fga=NULL;
/*[IF*/
if(((C)->_formal_generic_list/*37*/)!=((void*)(NULL))){
_rank=1;
while (!((R)||((_rank)>(/*(IRF4.6count*/(((T44*)(((T42*)((C)->_formal_generic_list/*37*/))->_list/*4*/)))->_upper/*8*//*)*/)))) {
_fga=/*(IRF4.6item*/r44item(((T44*)(((T42*)((C)->_formal_generic_list/*37*/))->_list/*4*/)),_rank)/*)*/;
/*[IF*/
if(r66a_keyword(C,((T47*)((((T43*)_fga))->_name/*0*/))->_to_string/*0*/)){
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T47*)((((T43*)_fga))->_name/*0*/))->_to_string/*0*/,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
_cn=(T0*)n;
}
{T267*n=malloc(sizeof(*n));
*n=M267;
r267make(n,_cn,_rank);
C->_last_type_formal_generic=(T0*)n;
}
R=1;
}
/*FI]*/
_rank=(_rank)+(1);
}
}
/*FI]*/
return R;
}
void r66err_exp(T0* a1,T0* a2){
T0* _msg=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,0);
_msg=(T0*)n;
}
r7append(((T7*)_msg),((T0*)ms66_48949));
r7append(((T7*)_msg),a2);
r7append(((T7*)_msg),((T0*)ms66_10120));
r67add_position(a1);
/*[IRF3.6fatal_error*/{T0* b1=_msg;
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*No:EIFFEL_PARSER.fz_then*/
/*No:EIFFEL_PARSER.formal_generic_list*/
/*No:EIFFEL_PARSER.fz_indexing*/
T6 r66a_rename_pair(T66* C){
T6 R=0;
T0* _rename_pair=NULL;
T0* _name1=NULL;
/*[IF*/
if(r66a_feature_name(C)){
_name1=(C)->_last_feature_name/*105*/;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_430))){
/*[IF*/
if(r66a_feature_name(C)){
R=1;
{T82*n=malloc(sizeof(*n));
*n=M82;
r82make(n,_name1,(C)->_last_feature_name/*105*/);
_rename_pair=(T0*)n;
}
r56add_rename((T56*)((C)->_last_parent/*149*/),_rename_pair);
}
else{
r66fcp(C,((T0*)ms66_121210));
}
/*FI]*/
}
else{
/*[IRF3.6go_back*/{T66* C1=C;
T0* b1=X77start_position(_name1);
r66go_back_at(C1,/*(IRF4.6line*/((((T69*)b1))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T69*)b1))->_mem_line_column/*4*/)%(1000)/*)*/);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_feature_name*/
/*No:EIFFEL_PARSER.fz_when*/
/*No:EIFFEL_PARSER.last_parent*/
T0* r66last_result(T66* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=r96start_position((T96*)(oBC66tmp_name));
/*[IF*/
if((C)->_inside_function/*29*/){
/*[IF*/
if((C)->_inside_once_function/*33*/){
{T142*n=malloc(sizeof(*n));
*n=M142;
/*[IRF3.3make*/((((T142*)(n)))->_start_position)=(_sp);
/*]*/
R=(T0*)n;
}
}
else{
{T143*n=malloc(sizeof(*n));
*n=M143;
/*[IRF3.3make*/((((T143*)(n)))->_start_position)=(_sp);
/*]*/
R=(T0*)n;
}
}
/*FI]*/
}
else{
r67add_position(_sp);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_116820);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_integer*/
void r66a_function_call(T66* C){
T0* _implicit_current=NULL;
T0* _sfn=NULL;
_sfn=r96to_simple_feature_name((T96*)(oBC66tmp_name));
{T181*n=malloc(sizeof(*n));
*n=M181;
/*[IRF3.3make*/((((T181*)(n)))->_start_position)=((((T135*)_sfn))->_start_position/*8*/);
/*]*/
_implicit_current=(T0*)n;
}
r66a_r10(C,0,_implicit_current,_sfn,r66a_actuals(C));
}
T6 r66a_real_constant(T66* C){
T6 R=0;
T2 _c=0;
T2 _l=0;
_l=(C)->_line/*16*/;
_c=(C)->_column/*12*/;
/*[IF*/
if(r66skip1(C,'\53')){
/*[IF*/
if(r66a_real(C)){
r69set_line_column((T69*)(((T161*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
R=1;
}
else{
r66go_back_at(C,_l,_c);
}
/*FI]*/
}
else if(r66skip1(C,'\55')){
/*[IF*/
if(r66a_real(C)){
r69set_line_column((T69*)(((T161*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
/*[IRF3.5unary_minus*/r7add_first(((T7*)(((T161*)((C)->_last_real_constant/*153*/))->_to_string/*8*/)),'\55');
/*]*/
R=1;
}
else{
r66go_back_at(C,_l,_c);
}
/*FI]*/
}
else if(r66a_real(C)){
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_feature*/
T6 r66a_assignment_or_call(T66* C){
T6 R=0;
/*[IF*/
if((r66skip1(C,'\50'))&&(r66a_expression(C))){
R=1;
/*[IF*/
if(r66skip1(C,'\51')){
r66a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r66fcp(C,((T0*)ms66_11245));
}
/*FI]*/
}
else if(r66a_precursor(C,1)){
R=1;
}
else if(r66a_identifier(C)){
R=1;
/*[IF*/
if(r66skip2(C,'\72','\75')){
r66a_assignment_aux(C,1);
}
else if(r66skip2(C,'\77','\75')){
r66a_assignment_aux(C,0);
}
else if((((r66a_current(C))||(r66a_result(C)))||(r66a_local_variable(C)))||(r66a_argument(C))){
r66a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r66a_procedure_call(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_debug*/
/*No:EIFFEL_PARSER.us_native_array*/
T6 r66a_strip(T66* C){
T6 R=0;
T0* _sp=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2885))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66skip1(C,'\50')){
C->_ok=r66a_feature_name_list(C);
{T134*n=malloc(sizeof(*n));
*n=M134;
r134make(n,_sp,(C)->_last_feature_name_list/*109*/);
C->_last_expression=(T0*)n;
}
/*[IF*/
if(!(r66skip1(C,'\51'))){
r66fcp(C,((T0*)ms66_80379));
}
/*FI]*/
R=1;
}
else{
r66fcp(C,((T0*)ms66_65660));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_loop*/
T0*oBC66faof=NULL;
/*No:EIFFEL_PARSER.us_pointer*/
void r66a_indexing(T66* C){
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_11000))){
while (!(!(r66a_index_clause(C)))) {
C->_ok=r66skip1(C,'\73');
}
}
/*FI]*/
}
/*No:EIFFEL_PARSER.make*/
T0* r66a_actuals(T66* C){
T0* R=NULL;
T0* _remainder=NULL;
T0* _first_one=NULL;
/*[IF*/
if(r66skip1(C,'\50')){
while (!(!(r66a_actual(C)))) {
/*[IF*/
if((_first_one)==((void*)(NULL))){
_first_one=(C)->_last_expression/*97*/;
}
else{
/*[IF*/
if((_remainder)==((void*)(NULL))){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138with_capacity(n,4);
_remainder=(T0*)n;
}
}
/*FI]*/
X138add_last(_remainder,(C)->_last_expression/*97*/);
}
/*FI]*/
/*[IF*/
if((!(r66skip1(C,'\54')))&&(((C)->_cc/*24*/)!=('\51'))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_9410);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*[IF*/
if((_first_one)==((void*)(NULL))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_57660);
r66warning(r66current_position(C1),b1);
}/*]*/
}
else{
{T136*n=malloc(sizeof(*n));
*n=M136;
r136make_n(n,_first_one,_remainder);
R=(T0*)n;
}
}
/*FI]*/
/*[IF*/
if(!(r66skip1(C,'\51'))){
r66fcp(C,((T0*)ms66_65695));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r66a_clients(T66* C){
T0* R=NULL;
T2 _state=0;
T0* _list=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66skip1(C,'\173')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66a_base_class_name(C)){
{T183*n=malloc(sizeof(*n));
*n=M183;
/*[IRF3.3make_1*/((((T183*)(n)))->_first)=((C)->_last_class_name/*89*/);
/*]*/
_list=(T0*)n;
}
_state=2;
}
else if(r66skip1(C,'\175')){
_state=4;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_48195);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
}
else{
_state=3;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_base_class_name(C)){
r183add_last(((T183*)_list),(C)->_last_class_name/*89*/);
_state=2;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_48195);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
}
else if(((C)->_cc/*24*/)==('\175')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_26923);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\175');
_state=4;
}
else{
_state=3;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66skip1(C,'\54')){
_state=1;
}
else if(r66skip1(C,'\175')){
_state=4;
}
else if(r66a_base_class_name(C)){
r66warning(((T47*)((C)->_last_class_name/*89*/))->_start_position/*4*/,((T0*)ms66_9410));
r183add_last(((T183*)_list),(C)->_last_class_name/*89*/);
}
else{
_state=3;
}
/*FI]*/
}
else{r66fcp(C,((T0*)ms66_20247));
_state=4;
}}
}
{T94*n=malloc(sizeof(*n));
*n=M94;
r94make(n,_sp,_list);
R=(T0*)n;
}
}
else{
{T94*n=malloc(sizeof(*n));
*n=M94;
/*[IRF3.1omitted*//*]*/
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T0*oBC11echo=NULL;
/*No:EIFFEL_PARSER.us_implies*/
T0*oBC66tmp_name=NULL;
/*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/
void r66a_feature_clause(T66* C){
T0* _comment=NULL;
T0* _clients=NULL;
T0* _feature_clause=NULL;
_clients=r66a_clients(C);
_comment=r66get_comments(C);
/*[IRF3.3clear*/((((T92*)((T92*)(oBC66faof))))->_upper)=(-(1));
/*]*/
while (!(!(r66a_feature_declaration(C)))) {
C->_ok=r66skip1(C,'\73');
/*[IF*/
if(((C)->_last_feature_declaration/*101*/)!=((void*)(NULL))){
r92add_last((T92*)(oBC66faof),(C)->_last_feature_declaration/*101*/);
X87set_header_comment((C)->_last_feature_declaration/*101*/,r66get_comments(C));
}
/*FI]*/
}
/*[IF*/
if(!(r92empty((T92*)(oBC66faof)))){
{T89*n=malloc(sizeof(*n));
*n=M89;
r89make(n,_clients,_comment,r92twin((T92*)(oBC66faof)));
_feature_clause=(T0*)n;
}
r22add_feature_clause((T22*)((C)->_last_base_class/*65*/),_feature_clause);
}
else if((_comment)!=((void*)(NULL))){
{T89*n=malloc(sizeof(*n));
*n=M89;
r89make(n,_clients,_comment,NULL);
_feature_clause=(T0*)n;
}
r22add_feature_clause((T22*)((C)->_last_base_class/*65*/),_feature_clause);
}
/*FI]*/
C->_last_keyword=NULL;
}
/*No:EIFFEL_PARSER.us_precursor*/
/*No:EIFFEL_PARSER.fz_inherit*/
/*No:EIFFEL_PARSER.fz_variant*/
/*No:EIFFEL_PARSER.fz_inspect*/
/*No:EIFFEL_PARSER.last_character_constant*/
/*No:EIFFEL_PARSER.last_class_type*/
/*No:EIFFEL_PARSER.last_class_name*/
/*No:EIFFEL_PARSER.last_ascii_code*/
/*No:EIFFEL_PARSER.line*/
/*No:EIFFEL_PARSER.fz_require*/
/*No:EIFFEL_PARSER.fz_invariant*/
T6 r66a_integer(T66* C){
T6 R=0;
T2 _value=0;
T2 _state=0;
/*[IF*/
if(r3is_digit((C)->_cc/*24*/)){
R=1;
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
_value=r3value((C)->_cc/*24*/);
while (!((_state)>(7))) {
r66next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=1;
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}
else
if((1==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=2;
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}
else
if((2==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=3;
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}
else
if((3==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
}
else
if((95==z2)){
r66fcp(C,((T0*)ms66_98851));
}
else{_state=8;
}}
}
else
if((4==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=5;
}
else{r66fcp(C,((T0*)ms66_98851));
}}
}
else
if((5==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=6;
}
else{r66fcp(C,((T0*)ms66_98851));
}}
}
else
if((6==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=7;
}
else{r66fcp(C,((T0*)ms66_98851));
}}
}
else {{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r66fcp(C,((T0*)ms66_98851));
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}}
}
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r66fcp(C,((T0*)ms66_31689));
}
/*FI]*/
r66skip_comments(C);
{T162*n=malloc(sizeof(*n));
*n=M162;
r162make(n,_value,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_integer_constant=(T0*)n;
}
}
/*FI]*/
return R;
}
T0* r66current_position(T66* C){
T0* R=NULL;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_line/*16*/,(C)->_column/*12*/);
R=(T0*)n;
}
return R;
}
T0*oBC66forbidden_class=NULL;
T6 r66a_manifest_string(T66* C){
T6 R=0;
T2 _state=0;
/*[IF*/
if(((C)->_cc/*24*/)==('\42')){
R=1;
{T158*n=malloc(sizeof(*n));
*n=M158;
r158make(n,r66pos((C)->_line/*16*/,(C)->_column/*12*/));
C->_last_manifest_string=(T0*)n;
}
while (!((_state)>(3))) {
r66next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if((10==z2)){
r66fcp(C,((T0*)ms66_91143));
}
else
if((34==z2)){
_state=4;
}
else
if((37==z2)){
_state=1;
}
else{/*[IRF3.5add*/r7extend(((T7*)(((T158*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/)),(C)->_cc/*24*/);
/*]*/
}}
}
else
if((1==z1)){
_state=0;
{int z2=(C)->_cc/*24*/;
if((10==z2)){
_state=3;
}
else
if((65==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\100');
}
else
if((66==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\10');
}
else
if((67==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\136');
}
else
if((68==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\44');
}
else
if((70==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\14');
}
else
if((72==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\134');
}
else
if((76==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\176');
}
else
if((78==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\n');
}
else
if((81==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\140');
}
else
if((82==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\15');
}
else
if((83==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\43');
}
else
if((84==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\11');
}
else
if((85==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\0');
}
else
if((86==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\174');
}
else
if((37==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\45');
}
else
if((39==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\47');
}
else
if((34==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\42');
}
else
if((40==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\133');
}
else
if((41==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\135');
}
else
if((60==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\173');
}
else
if((62==z2)){
r158add_percent((T158*)((C)->_last_manifest_string/*145*/),'\175');
}
else
if((47==z2)){
r66a_ascii_code(C);
r158add_ascii((T158*)((C)->_last_manifest_string/*145*/),((T3)((C)->_last_ascii_code/*61*/)));
}
else
if((9==z2)||(32==z2)){
_state=2;
}
else{r66fcp(C,((T0*)ms66_45084a));
_state=0;
}}
}
else
if((2==z1)){
{int z2=(C)->_cc/*24*/;
if((10==z2)){
_state=3;
}
else
if((9==z2)||(32==z2)){
}
else{r66fcp(C,((T0*)ms66_192660));
}}
}
else{{int z2=(C)->_cc/*24*/;
if((9==z2)||(32==z2)){
}
else
if((37==z2)){
r158break_line((T158*)((C)->_last_manifest_string/*145*/));
_state=0;
}
else
if((10==z2)){
r66fcp(C,((T0*)ms66_91143));
_state=0;
}
else{r66fcp(C,((T0*)ms66_204786));
_state=0;
}}
}}
}
r66next_char(C);
r66skip_comments(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_jvm_invokestatic*/
void r66a_class_declaration(T66* C){
T6 _drop_comments_save=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
r66a_indexing(C);
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10664))){
r22set_is_deferred((T22*)((C)->_last_base_class/*65*/));
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10840))){
r22set_is_expanded((T22*)((C)->_last_base_class/*65*/));
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10664))){
r22set_is_deferred((T22*)((C)->_last_base_class/*65*/));
}
/*FI]*/
}
/*FI]*/
/*[IRF3.3set_heading_comment1*/((((T22*)((T22*)((C)->_last_base_class/*65*/))))->_heading_comment1)=(r66get_comments(C));
/*]*/
/*[IF*/
if(!(r66a_keyword(C,((T0*)ms12_2745)))){
r66fcp(C,((T0*)ms66_42300));
}
/*FI]*/
r66a_base_class_name1(C);
r66a_formal_generic_list(C);
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10928))){
/*[IF*/
if(r66a_manifest_string(C)){
/*[IRF3.3set_obsolete_type_string*/((((T22*)((T22*)((C)->_last_base_class/*65*/))))->_obsolete_type_string)=((C)->_last_manifest_string/*145*/);
/*]*/
}
else{
r66fcp(C,((T0*)ms66_125396));
}
/*FI]*/
}
/*FI]*/
/*[IRF3.3set_heading_comment2*/((((T22*)((T22*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(r66get_comments(C));
/*]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_9527))){
r66a_parent_list(C,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),r66get_comments(C));
}
/*FI]*/
while (!(!(r66a_keyword(C,((T0*)ms12_11376))))) {
r66a_creation_clause(C,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
}
while (!(!(r66a_keyword(C,((T0*)ms12_8785))))) {
r66a_feature_clause(C);
}
_drop_comments_save=(C)->_drop_comments/*4*/;
C->_drop_comments=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_14427))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_hc=r66get_comments(C);
_al=r66a_assertion(C);
r22set_invariant((T22*)((C)->_last_base_class/*65*/),_sp,_hc,_al);
}
/*FI]*/
/*[IF*/
if((r66a_keyword(C,((T0*)ms12_951)))||(((C)->_last_keyword/*113*/)==((void*)(((T0*)ms12_951))))){
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
/*FI]*/
/*[IRF3.3set_end_comment*/((((T22*)((T22*)((C)->_last_base_class/*65*/))))->_end_comment)=(r66get_comments(C));
/*]*/
/*[IF*/
if(((C)->_cc/*24*/)!=('\0')){
r66fcp(C,((T0*)ms66_29463));
}
/*FI]*/
}
else{
r66fcp(C,((T0*)ms66_117540));
}
/*FI]*/
C->_drop_comments=_drop_comments_save;
}
/*No:EIFFEL_PARSER.last_base_class*/
void r66a_after_a_dot(T66* C,T6 a1,T0* a2){
T0* _eal=NULL;
T0* _sfn=NULL;
/*[IF*/
if(r66a_identifier(C)){
/*[IF*/
if(((r66a_result(C))||(r66a_void(C)))||(r66a_current(C))){
r67add_position(X53start_position((C)->_last_expression/*97*/));
r67error((T67*)(oBC11eh),((T0*)ms66_83714));
}
/*FI]*/
_sfn=r96to_simple_feature_name((T96*)(oBC66tmp_name));
_eal=r66a_actuals(C);
r66a_r10(C,a1,a2,_sfn,_eal);
}
else{
r66fcp(C,((T0*)ms66_63584));
}
/*FI]*/
}
/*No:EIFFEL_PARSER.nb_errors*/
T6 r66a_actual(T66* C){
T6 R=0;
/*[IF*/
if(r66skip1(C,'\44')){
/*[IF*/
if(r66a_identifier(C)){
/*[IF*/
if(((r66a_result(C))||(r66a_void(C)))||(r66a_current(C))){
r67add_position(X53start_position((C)->_last_expression/*97*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_98482);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else{
{T147*n=malloc(sizeof(*n));
*n=M147;
/*[IRF3.3make*/((((T147*)(n)))->_feature_name)=(r96to_simple_feature_name((T96*)(oBC66tmp_name)));
/*]*/
C->_last_expression=(T0*)n;
}
R=1;
}
/*FI]*/
}
else{
r66fcp(C,((T0*)ms66_98482));
}
/*FI]*/
}
else if(r66a_expression(C)){
R=1;
}
/*FI]*/
return R;
}
T6 r66a_infix(T66* C){
T6 R=0;
T0* _sp=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2785))){
R=1;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((C)->_cc/*24*/)==('\42')){
r66next_char(C);
}
else{
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_85196);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(r66a_binary(C,_sp)){
C->_last_infix=(C)->_last_binary/*73*/;
}
else if(r66a_free_operator(C)){
C->_last_infix=r96to_infix_name(_sp);
}
else{
r66fcp(C,((T0*)ms66_53911));
}
/*FI]*/
/*[IF*/
if(!(r66skip1(C,'\42'))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_38352a);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_plus*/
T0*oBC11parser_buffer=NULL;
void r66a_parent_list(T66* C,T0* a1,T0* a2){
T0* _list=NULL;
while (!(!(r66a_parent(C)))) {
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma57(1,
(C)->_last_parent/*149*/);
}
else{
r57add_last(((T57*)_list),(C)->_last_parent/*149*/);
}
/*FI]*/
C->_ok=r66skip1(C,'\73');
/*[IRF3.3set_comment*/((((T56*)((T56*)((C)->_last_parent/*149*/))))->_comment)=(r66get_comments(C));
/*]*/
}
/*[IF*/
if(((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))){
/*[IF*/
if((_list)==((void*)(NULL))){
/*[IF*/
if((((T22*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/)==((void*)(NULL))){
/*[IRF3.3set_heading_comment2*/((((T22*)((T22*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(a2);
/*]*/
}
else{
r52append((T52*)(((T22*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/),a2);
}
/*FI]*/
}
else{
r22set_parent_list((T22*)((C)->_last_base_class/*65*/),a1,a2,_list);
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_check*/
/*No:EIFFEL_PARSER.us_muls*/
/*No:EIFFEL_PARSER.cc*/
void r66prev_char(T66* C){
/*[IF*/
if(((C)->_column/*12*/)>(1)){
C->_column=((C)->_column/*12*/)-(1);
C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
}
else{
/*[IF*/
if(((C)->_line/*16*/)>(1)){
C->_line=((C)->_line/*16*/)-(1);
C->_current_line=r71item((C)->_line/*16*/);
C->_column=(((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1);
C->_cc='\n';
}
else{
C->_column=0;
C->_cc='\0';
}
/*FI]*/
}
/*FI]*/
}
T6 r66a_inspect(T66* C){
T6 R=0;
T0* _ec=NULL;
T0* _i=NULL;
T0* _spec=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_9590))){
R=1;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_expression(C)){
C->_last_expression=X53add_comment((C)->_last_expression/*97*/,r66get_comments(C));
}
else{
r66fcp(C,((T0*)ms66_82621));
}
/*FI]*/
{T220*n=malloc(sizeof(*n));
*n=M220;
r220make(n,_sp,(C)->_last_expression/*97*/);
_i=(T0*)n;
}
while (!(!(r66a_when_part(C,_i)))) {
}
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1740))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_spec=(T0*)n;
}
_ec=r66a_compound2(C,((T0*)ms66_33180),((T0*)ms12_951));
r220set_else_compound(((T220*)_i),_spec,_ec);
}
else if(!(r66a_keyword(C,((T0*)ms12_951)))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_76932);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
C->_last_instruction=_i;
}
/*FI]*/
return R;
}
T6 r66a_current(T66* C){
T6 R=0;
/*[IF*/
if(r96is_current()){
{T145*n=malloc(sizeof(*n));
*n=M145;
/*[IRF3.3make*/((((T145*)(n)))->_start_position)=(r96start_position((T96*)(oBC66tmp_name)));
/*]*/
C->_last_expression=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
void r66a_rename_list(T66* C){
while (!(!(r66a_rename_pair(C)))) {
C->_ok=r66skip1(C,'\54');
}
}
/*No:EIFFEL_PARSER.us_or_else*/
/*No:EIFFEL_PARSER.case_insensitive*/
/*No:EIFFEL_PARSER.last_comments*/
void r66next_char(T66* C){
/*[IF*/
if(((C)->_column/*12*/)<(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
C->_column=((C)->_column/*12*/)+(1);
C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
}
else if(((C)->_column/*12*/)==(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
C->_column=((C)->_column/*12*/)+(1);
C->_cc='\n';
}
else if(((C)->_line/*16*/)==(((T71*)(oBC11parser_buffer))->_count/*4*/)){
C->_cc='\0';
}
else{
C->_column=1;
C->_line=((C)->_line/*16*/)+(1);
C->_current_line=r71item((C)->_line/*16*/);
/*[IF*/
if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
C->_cc='\n';
}
else{
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.us_slash*/
T6 r66a_unary(T66* C){
T6 R=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_1029))){
{T129*n=malloc(sizeof(*n));
*n=M129;
r129make(n,((T0*)ms13_1029),r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_prefix=(T0*)n;
}
R=1;
}
else if(r66skip1(C,'\53')){
{T129*n=malloc(sizeof(*n));
*n=M129;
r129make(n,((T0*)ms13_44),r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_prefix=(T0*)n;
}
R=1;
}
else if(r66skip1(C,'\55')){
{T129*n=malloc(sizeof(*n));
*n=M129;
r129make(n,((T0*)ms13_46),r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_prefix=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.drop_comments*/
/*No:EIFFEL_PARSER.ok*/
T0* r66analyse_class(T66* C,T0* a1){
T0* R=NULL;
T0* _path=NULL;
T2 _old_nbw=0;
T2 _old_nbe=0;
_path=((T71*)(oBC11parser_buffer))->_path/*0*/;
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)>(0)){
/*[IRF3.6append*/{T0* b1=((T0*)ms66_63808);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*FI]*/
r35put_integer((T35*)(oBC11echo),(/*(IRF4.9base_class_count*/((T61*)(oBC59base_class_dictionary))->_count/*32*//*)*/)+(1));
r35put_character((T35*)(oBC11echo),'\11');
r35put_string((T35*)(oBC11echo),_path);
r35put_character((T35*)(oBC11echo),'\n');
_old_nbe=/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/;
_old_nbw=/*(IRF4.9nb_warnings*/((T67*)(oBC11eh))->_nb_warnings/*0*//*)*/;
C->_is_running=1;
C->_inside_function=0;
C->_inside_once_function=0;
C->_in_ensure=0;
C->_last_comments=NULL;
C->_line=1;
C->_column=1;
C->_current_line=r71item((C)->_line/*16*/);
/*[IF*/
if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
C->_cc='\n';
}
else{
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI]*/
{T22*n=malloc(sizeof(*n));
*n=M22;
r22make(n);
C->_last_base_class=(T0*)n;
}
r66skip_comments(C);
r66a_class_declaration(C);
C->_is_running=0;
/*[IRF3.3unset_is_ready*/((((T71*)((T71*)(oBC11parser_buffer))))->_path)=(NULL);
/*]*/
R=(C)->_last_base_class/*65*/;
/*[IF*/
if(((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)-(_old_nbe))>(0)){
/*[IRF3.2show_nb_errors*/r66show_nb(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/,((T0*)ms66_6567));
/*]*/
r35w_put_string(((T0*)ms66_10068));
r35w_put_string(_path);
r35w_put_string(((T0*)ms66_5467));
R=NULL;
}
else if(((/*(IRF4.9nb_warnings*/((T67*)(oBC11eh))->_nb_warnings/*0*//*)*/)-(_old_nbw))>(0)){
/*[IRF3.2show_nb_warnings*/r66show_nb(/*(IRF4.9nb_warnings*/((T67*)(oBC11eh))->_nb_warnings/*0*//*)*/,((T0*)ms66_8021));
/*]*/
}
/*FI]*/
/*[IF*/
if((R)!=((void*)(NULL))){
r59add_class((T59*)(oBC11small_eiffel),R);
/*[IF*/
if(((a1)!=((void*)(NULL)))&&(((((T47*)a1))->_to_string/*0*/)!=((void*)(((T47*)((((T22*)R))->_name/*24*/))->_to_string/*0*/)))){
r67add_position((((T47*)a1))->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms12_3810);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=_path;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms66_35397);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T47*)a1))->_to_string/*0*/;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_166);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
r22get_started(((T22*)R));
}
/*FI]*/
return R;
}
void r66skip_comments(T66* C){
T2 _state=0;
T0* _sp=NULL;
while (!((_state)==(2))) {
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if(((9<=z2)&&(z2<=10))||(32==z2)){
r66next_char(C);
}
else
if((45==z2)){
r66next_char(C);
_state=1;
}
else{_state=2;
}}
}
else {{int z2=(C)->_cc/*24*/;
if((45==z2)){
/*[IF*/
if((C)->_drop_comments/*4*/){
}
else{
/*[IF*/
if(((C)->_last_comments/*25*/)==((void*)(NULL))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_line/*16*/,((C)->_column/*12*/)-(1));
_sp=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
r66next_char(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC66lcs))))->_count)=(0);
/*]*/
while (!(((C)->_cc/*24*/)==('\n'))) {
r7extend((T7*)(oBC66lcs),(C)->_cc/*24*/);
r66next_char(C);
}
/*[IF*/
if((C)->_drop_comments/*4*/){
}
else{
/*[IF*/
if(((C)->_last_comments/*25*/)==((void*)(NULL))){
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,_sp,se_ma34(1,
r7twin((T7*)(oBC66lcs))));
C->_last_comments=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r34add_last(((T34*)(((T52*)((C)->_last_comments/*25*/))->_list/*4*/)),r7twin((T7*)(oBC66lcs)));
/*]*/
}
/*FI]*/
}
/*FI]*/
_state=0;
}
else{r66prev_char(C);
_state=2;
}}
}}
}
}
T6 r66a_local_variable(T66* C){
T6 R=0;
T2 _rank=0;
/*[IF*/
if(((C)->_local_vars/*53*/)!=((void*)(NULL))){
_rank=r166rank_of((T166*)((C)->_local_vars/*53*/),r96to_string((T96*)(oBC66tmp_name)));
/*[IF*/
if((_rank)>(0)){
C->_last_expression=r96to_local_name2((T96*)(oBC66tmp_name),(C)->_local_vars/*53*/,_rank);
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.start_line*/
T6 r66a_retry(T66* C){
T6 R=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2905))){
/*[IF*/
if(!((C)->_in_rescue/*45*/)){
r66error(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms66_115380));
}
/*FI]*/
{T219*n=malloc(sizeof(*n));
*n=M219;
/*[IRF3.3make*/((((T219*)(n)))->_start_position)=(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
C->_last_instruction=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.arguments*/
T6 r66a_e10(T66* C){
T6 R=0;
/*[IF*/
if(r66a_strip(C)){
R=1;
}
else if(r66skip1(C,'\50')){
R=1;
/*[IF*/
if(r66a_expression(C)){
/*[IF*/
if(r66skip1(C,'\51')){
r66a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r66fcp(C,((T0*)ms66_40743));
}
/*FI]*/
}
else{
r66fcp(C,((T0*)ms66_29020));
}
/*FI]*/
}
else if(r66a_manifest_constant(C)){
C->_last_expression=(C)->_last_manifest_constant/*141*/;
R=1;
/*[IF*/
if(r66skip1unless2(C,'\56','\56')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_129072);
r66warning(r66current_position(C1),b1);
}/*]*/
r66a_after_a_dot(C,0,(C)->_last_expression/*97*/);
}
/*FI]*/
}
else if(r66a_precursor(C,0)){
R=1;
}
else if(r66a_identifier(C)){
R=1;
/*[IF*/
if(((((r66a_result(C))||(r66a_current(C)))||(r66a_void(C)))||(r66a_local_variable(C)))||(r66a_argument(C))){
r66a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r66a_function_call(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_select*/
T6 r66a_conditional(T66* C){
T6 R=0;
T0* _ifthenelse=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_420))){
R=1;
{T210*n=malloc(sizeof(*n));
*n=M210;
/*[IRF3.3make*/((((T210*)(n)))->_start_position)=(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
_ifthenelse=(T0*)n;
}
r66a_then_part_list(C,_ifthenelse);
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1740))){
/*[IRF3.3set_else_compound*/((((T210*)(((T210*)_ifthenelse))))->_else_compound)=(r66a_compound2(C,((T0*)ms66_13644),((T0*)ms12_951)));
/*]*/
}
else{
/*[IF*/
if(!(r66a_keyword(C,((T0*)ms12_951)))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_29240);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
C->_last_instruction=_ifthenelse;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.set_case_insensitive*/
/*No:EIFFEL_PARSER.is_running*/
void r66a_r10(T66* C,T6 a1,T0* a2,T0* a3,T0* a4){
/*[IF*/
if(r66skip1unless2(C,'\56','\56')){
r66a_after_a_dot(C,a1,r66to_call(a2,a3,a4));
}
else{
/*[IF*/
if(a1){
C->_last_instruction=r66to_proc_call(C,a2,a3,a4);
C->_last_expression=NULL;
}
else{
C->_last_expression=r66to_call(a2,a3,a4);
C->_last_instruction=NULL;
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.last_prefix*/
T0*oBC66tmp_string=NULL;
/*No:EIFFEL_PARSER.last_infix*/
/*No:EIFFEL_PARSER.fz_export*/
T6 r66a_tag_mark(T66* C){
T6 R=0;
/*[IF*/
if(r66a_identifier(C)){
/*[IF*/
if(r66skip1unless2(C,'\72','\75')){
R=1;
C->_last_tag_mark=r96to_tag_name((T96*)(oBC66tmp_name));
}
else{
C->_last_tag_mark=NULL;
r66go_back_at(C,((T96*)(oBC66tmp_name))->_li/*4*/,((T96*)(oBC66tmp_name))->_co/*8*/);
}
/*FI]*/
}
else{
C->_last_tag_mark=NULL;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_feature_name_list*/
/*No:EIFFEL_PARSER.last_manifest_constant*/
/*No:EIFFEL_PARSER.fz_local*/
/*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/
/*No:EIFFEL_PARSER.current_class*/
/*No:EIFFEL_PARSER.last_tag_mark*/
void r66a_base_class_name1(T66* C){
T0* _ccn=NULL;
T6 _do_warning=0;
T2 _state=0;
_ccn=((T22*)((C)->_last_base_class/*65*/))->_name/*24*/;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r69set_line_column((T69*)((((T47*)_ccn))->_start_position/*4*/),(C)->_line/*16*/,(C)->_column/*12*/);
r96initialize((T96*)(oBC66tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IF*/
if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
_do_warning=1;
C->_cc=r3to_upper((C)->_cc/*24*/);
}
/*FI]*/
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r66next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else
if(((97<=z1)&&(z1<=122))){
_do_warning=1;
/*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
r66skip_comments(C);
/*[IF*/
if(r96isa_keyword()){
r67add_position((((T47*)_ccn))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_71470);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(_do_warning){
r66warning((((T47*)_ccn))->_start_position/*4*/,((T0*)ms66_116415));
}
/*FI]*/
r47identify(((T47*)_ccn),r96to_string((T96*)(oBC66tmp_name)));
}
else{
r66fcp(C,((T0*)ms66_71470));
}
/*FI]*/
/*[IF*/
if(r34fast_has((T34*)(oBC66forbidden_class),(((T47*)_ccn))->_to_string/*0*/)){
r67add_position((((T47*)_ccn))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_44356);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_01*/
/*No:EIFFEL_PARSER.fz_03*/
/*No:EIFFEL_PARSER.fz_iinaiv*/
T6 r66a_keyword(T66* C,T0* a1){
T6 R=0;
T2 _keyword_count=0;
T2 _i=0;
_keyword_count=(((T7*)a1))->_count/*4*/;
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
while (!(((_i)==(_keyword_count))||(!(r3same_as((C)->_cc/*24*/,/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) {
_i=(_i)+(1);
r66next_char(C);
}
/*[IF*/
if((_i)==(_keyword_count)){
{int z1=(C)->_cc/*24*/;
if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){
R=1;
C->_last_keyword=a1;
r66skip_comments(C);
}
else
if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){
while (!((_i)==(0))) {
r66prev_char(C);
_i=(_i)-(1);
}
}
else{R=1;
C->_last_keyword=a1;
}}
}
else{
while (!((_i)==(0))) {
r66prev_char(C);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_until*/
/*No:EIFFEL_PARSER.last_binary*/
T0* r66a_routine_body(T66* C){
T0* R=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10664))){
r22set_is_deferred((T22*)((C)->_last_base_class/*65*/));
R=r186to_deferred_routine((T186*)(oBC66tmp_feature));
}
else if(r66a_keyword(C,((T0*)ms12_11448))){
R=r66a_external(C);
}
else if(r66a_keyword(C,((T0*)ms12_428))){
/*[IRF3.3set_routine_body*/((((T186*)((T186*)(oBC66tmp_feature))))->_routine_body)=(r66a_compound1(C));
/*]*/
R=r186to_procedure_or_function((T186*)(oBC66tmp_feature));
}
else if(r66a_keyword(C,((T0*)ms12_1724a))){
C->_inside_once_function=1;
/*[IRF3.3set_routine_body*/((((T186*)((T186*)(oBC66tmp_feature))))->_routine_body)=(r66a_compound1(C));
/*]*/
R=r186to_once_routine((T186*)(oBC66tmp_feature));
}
else{
r66fcp(C,((T0*)ms66_34276));
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_expression*/
/*No:EIFFEL_PARSER.fz_59*/
T6 r66a_void(T66* C){
T6 R=0;
/*[IF*/
if(r96is_void()){
C->_last_expression=r96to_e_void((T96*)(oBC66tmp_name));
R=1;
}
/*FI]*/
return R;
}
T6 r66a_class_type(T66* C){
T6 R=0;
T0* _generic_list=NULL;
T0* _base_class_name=NULL;
T2 _state=0;
/*[IF*/
if(r66a_base_type(C)){
C->_last_class_type=(C)->_last_base_type/*69*/;
R=1;
}
else if(r66a_base_class_name(C)){
R=1;
_base_class_name=(C)->_last_class_name/*89*/;
while (!((_state)>(2))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66skip1(C,'\133')){
_state=1;
}
else{
{T261*n=malloc(sizeof(*n));
*n=M261;
/*[IRF3.3make*/((((T261*)(n)))->_base_class_name)=(_base_class_name);
/*]*/
C->_last_class_type=(T0*)n;
}
_state=3;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_type(C)){
/*[IF*/
if((_generic_list)==((void*)(NULL))){
_generic_list=se_ma249(1,
(C)->_last_type/*157*/);
}
else{
r249add_last(((T249*)_generic_list),(C)->_last_type/*157*/);
}
/*FI]*/
_state=2;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_26277);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
}
else if(((C)->_cc/*24*/)==('\135')){
_state=2;
}
else{
r66fcp(C,((T0*)ms66_25441));
_state=2;
}
/*FI]*/
}
else{/*[IF*/
if(r66skip1(C,'\54')){
_state=1;
}
else if(((C)->_cc/*24*/)==('\135')){
/*[IF*/
if((_generic_list)==((void*)(NULL))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_54404);
r66warning(r66current_position(C1),b1);
}/*]*/
{T261*n=malloc(sizeof(*n));
*n=M261;
/*[IRF3.3make*/((((T261*)(n)))->_base_class_name)=(_base_class_name);
/*]*/
C->_last_class_type=(T0*)n;
}
}
else{
{T262*n=malloc(sizeof(*n));
*n=M262;
r262make(n,_base_class_name,_generic_list);
C->_last_class_type=(T0*)n;
}
}
/*FI]*/
C->_ok=r66skip1(C,'\135');
_state=3;
}
else if(r66a_type(C)){
/*[IF*/
if((_generic_list)==((void*)(NULL))){
_generic_list=se_ma249(1,
(C)->_last_type/*157*/);
}
else{
r249add_last(((T249*)_generic_list),(C)->_last_type/*157*/);
}
/*FI]*/
r66warning(X46start_position((C)->_last_type/*157*/),((T0*)ms66_9410));
}
else{
r66fcp(C,((T0*)ms66_20315));
_state=3;
}
/*FI]*/
}}
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.in_ensure*/
/*No:EIFFEL_PARSER.fz_end*/
/*No:EIFFEL_PARSER.fz_external*/
/*No:EIFFEL_PARSER.inside_function*/
/*No:EIFFEL_PARSER.us_and*/
T0* r66a_assertion(T66* C){
T0* R=NULL;
T2 _state=0;
T0* _assertion=NULL;
T0* _expression=NULL;
T0* _tag=NULL;
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
/*[IF*/
if(((C)->_last_comments/*25*/)!=((void*)(NULL))){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,NULL,NULL,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
}
/*FI]*/
}
else if(r66a_tag_mark(C)){
_tag=(C)->_last_tag_mark/*161*/;
_state=1;
}
else if(r66a_expression(C)){
_expression=(C)->_last_expression/*97*/;
_state=2;
}
else{
_state=4;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66skip1(C,'\73')){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,NULL,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_state=0;
}
else if(r66a_tag_mark(C)){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,NULL,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_tag=(C)->_last_tag_mark/*161*/;
}
else if(r66a_expression(C)){
_expression=(C)->_last_expression/*97*/;
_state=3;
}
else{
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,NULL,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66skip1(C,'\73')){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,NULL,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_state=0;
}
else if(r66a_tag_mark(C)){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,NULL,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_tag=(C)->_last_tag_mark/*161*/;
_state=1;
}
else if(r66a_expression(C)){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,NULL,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_expression=(C)->_last_expression/*97*/;
_state=2;
}
else{
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,NULL,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else{/*[IF*/
if(r66skip1(C,'\73')){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_state=0;
}
else if(r66a_tag_mark(C)){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_tag=(C)->_last_tag_mark/*161*/;
_state=1;
}
else if(r66a_expression(C)){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_expression=(C)->_last_expression/*97*/;
_state=2;
}
else{
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,_tag,_expression,r66get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma50(1,
_assertion);
}
else{
r50add_last(((T50*)R),_assertion);
}
/*FI]*/
_state=4;
}
/*FI]*/
}}
}
return R;
}
/*No:EIFFEL_PARSER.in_rescue*/
/*No:EIFFEL_PARSER.fz_old*/
T6 r66a_feature_name(T66* C){
T6 R=0;
/*[IF*/
if(r66a_prefix(C)){
C->_last_feature_name=(C)->_last_prefix/*125*/;
R=1;
}
else if(r66a_infix(C)){
C->_last_feature_name=(C)->_last_infix/*121*/;
R=1;
}
else if(r66a_identifier(C)){
C->_last_feature_name=r96to_simple_feature_name((T96*)(oBC66tmp_name));
R=1;
}
/*FI]*/
return R;
}
T6 r66a_feature_declaration(T66* C){
T6 R=0;
r186initialize((T186*)(oBC66tmp_feature));
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7350))){
/*[IF*/
if(r66a_feature_name(C)){
R=1;
r66to_frozen_feature_name(C);
r186add_synonym((C)->_last_feature_name/*105*/);
}
else{
r66fcp(C,((T0*)ms66_33616));
}
/*FI]*/
}
else if(r66a_feature_name(C)){
R=1;
r186add_synonym((C)->_last_feature_name/*105*/);
}
/*FI]*/
while (!(!(r66skip1(C,'\54')))) {
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7350))){
/*[IF*/
if(r66a_feature_name(C)){
r66to_frozen_feature_name(C);
r186add_synonym((C)->_last_feature_name/*105*/);
}
else{
r66fcp(C,((T0*)ms66_82695));
}
/*FI]*/
}
else if(r66a_feature_name(C)){
r186add_synonym((C)->_last_feature_name/*105*/);
}
else{
/*[IRF3.6ecp*/{T66* C1=C;
T0* b1=((T0*)ms66_57900);
r66error(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*[IF*/
if(R){
r66a_formal_arg_list(C);
/*[IF*/
if(r66skip1(C,'\72')){
/*[IF*/
if(r66a_type(C)){
C->_inside_function=1;
/*[IRF3.3set_type*/((((T186*)((T186*)(oBC66tmp_feature))))->_type)=((C)->_last_type/*157*/);
/*]*/
}
else{
r66fcp(C,((T0*)ms66_25441));
}
/*FI]*/
}
else{
C->_inside_function=0;
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_446))){
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7098))){
C->_last_feature_declaration=r186to_cst_att_unique((T186*)(oBC66tmp_feature));
}
else if(r66a_boolean_constant(C)){
C->_last_feature_declaration=r186to_cst_att_boolean((T186*)(oBC66tmp_feature),(C)->_last_boolean_constant/*81*/);
}
else if(r66a_character_constant(C)){
C->_last_feature_declaration=r186to_cst_att_character((T186*)(oBC66tmp_feature),(C)->_last_character_constant/*85*/);
}
else if(r66a_manifest_string(C)){
C->_last_feature_declaration=r186to_cst_att_string((T186*)(oBC66tmp_feature),(C)->_last_manifest_string/*145*/);
}
else if(r66a_bit_constant(C)){
C->_last_feature_declaration=r186to_cst_att_bit((T186*)(oBC66tmp_feature),(C)->_last_bit_constant/*77*/);
}
else if(r66a_real_constant(C)){
C->_last_feature_declaration=r186to_cst_att_real((T186*)(oBC66tmp_feature),(C)->_last_real_constant/*153*/);
}
else if(r66a_integer_constant(C)){
C->_last_feature_declaration=r186to_cst_att_integer((T186*)(oBC66tmp_feature),(C)->_last_integer_constant/*129*/);
}
else{
C->_last_feature_declaration=r66a_routine(C);
}
/*FI]*/
}
else{
C->_last_feature_declaration=r186to_writable_attribute((T186*)(oBC66tmp_feature));
}
/*FI]*/
C->_inside_function=0;
C->_inside_once_function=0;
C->_arguments=NULL;
}
/*FI]*/
return R;
}
void r66a_ascii_code(T66* C){
T2 _counter=0;
r66next_char(C);
_counter=0;
C->_last_ascii_code=0;
while (!(((_counter)>(3))||(((C)->_cc/*24*/)==('\57')))) {
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))){
C->_last_ascii_code=(((C)->_last_ascii_code/*61*/)*(10))+(r3value((C)->_cc/*24*/));
}
else{r66fcp(C,((T0*)ms66_75355));
}}
_counter=(_counter)+(1);
r66next_char(C);
}
/*[IF*/
if((_counter)==(0)){
r66fcp(C,((T0*)ms66_37500));
}
else if((_counter)>(3)){
r66fcp(C,((T0*)ms66_98605));
}
else{
}
/*FI]*/
}
/*No:EIFFEL_PARSER.em1*/
/*No:EIFFEL_PARSER.em2*/
/*No:EIFFEL_PARSER.fz_ensure*/
/*No:EIFFEL_PARSER.last_index_value*/
/*No:EIFFEL_PARSER.em3*/
/*No:EIFFEL_PARSER.em4*/
T0* r66to_proc_call(T66* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if((a2)==((void*)(NULL))){
r66fcp(C,((T0*)ms66_198189));
}
else if((a3)==((void*)(NULL))){
{T150*n=malloc(sizeof(*n));
*n=M150;
r150make(n,a1,a2);
R=(T0*)n;
}
}
else if((r136count(((T136*)a3)))==(1)){
{T151*n=malloc(sizeof(*n));
*n=M151;
r151make(n,a1,a2,a3);
R=(T0*)n;
}
}
else{
{T152*n=malloc(sizeof(*n));
*n=M152;
r152make(n,a1,a2,a3);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.em5*/
/*No:EIFFEL_PARSER.last_type*/
/*No:EIFFEL_PARSER.em6*/
/*No:EIFFEL_PARSER.em7*/
T6 r66a_index_value(T66* C){
T6 R=0;
/*[IF*/
if(r66a_identifier(C)){
C->_last_index_value=r96to_simple_feature_name((T96*)(oBC66tmp_name));
R=1;
}
else if(r66a_manifest_constant(C)){
C->_last_index_value=(C)->_last_manifest_constant/*141*/;
R=1;
}
/*FI]*/
return R;
}
T6 r66a_expression(T66* C){
T6 R=0;
T0* _list=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66skip2(C,'\74','\74')){
R=1;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
while (!(!(r66a_expression(C)))) {
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma98(1,
(C)->_last_expression/*97*/);
}
else{
X98add_last(_list,(C)->_last_expression/*97*/);
}
/*FI]*/
C->_ok=r66skip1(C,'\54');
}
/*[IF*/
if(!(r66skip2(C,'\76','\76'))){
r66fcp(C,((T0*)ms66_57753));
}
/*FI]*/
{T97*n=malloc(sizeof(*n));
*n=M97;
r97make(n,_sp,_list);
C->_last_expression=(T0*)n;
}
}
else{
R=r66a_e0(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.em8*/
/*No:EIFFEL_PARSER.em9*/
T6 r66a_feature_name_list(T66* C){
T6 R=0;
T2 _state=0;
C->_last_feature_name_list=NULL;
while (!((_state)>=(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66a_feature_name(C)){
{T79*n=malloc(sizeof(*n));
*n=M79;
/*[IRF3.3make_1*/((((T79*)(n)))->_first)=((C)->_last_feature_name/*105*/);
/*]*/
C->_last_feature_name_list=(T0*)n;
}
R=1;
_state=1;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_48195);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
}
else{
_state=3;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(((C)->_cc/*24*/)==('\54')){
C->_ok=r66skip1(C,'\54');
_state=2;
}
else if(r66a_feature_name(C)){
r66warning(X77start_position((C)->_last_feature_name/*105*/),((T0*)ms66_9410));
r79add_last((T79*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
}
else{
_state=3;
}
/*FI]*/
}
else {/*[IF*/
if(r66a_feature_name(C)){
r79add_last((T79*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
_state=1;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_26277);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
}
else{
/*[IRF3.6ecp*/{T66* C1=C;
T0* b1=((T0*)ms66_33616);
r66error(r66current_position(C1),b1);
}/*]*/
_state=3;
}
/*FI]*/
}}
}
return R;
}
T6 r66a_type(T66* C){
T6 R=0;
T0* _argument_name2=NULL;
T0* _sp=NULL;
R=1;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1724))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_infix(C)){
{T243*n=malloc(sizeof(*n));
*n=M243;
r243make(n,_sp,(C)->_last_infix/*121*/);
C->_last_type=(T0*)n;
}
}
else if(r66a_prefix(C)){
{T243*n=malloc(sizeof(*n));
*n=M243;
r243make(n,_sp,(C)->_last_prefix/*125*/);
C->_last_type=(T0*)n;
}
}
else if(r66a_identifier(C)){
/*[IF*/
if(r66a_current(C)){
{T245*n=malloc(sizeof(*n));
*n=M245;
/*[IRF3.3make*/((((T245*)(n)))->_start_position)=(_sp);
/*]*/
C->_last_type=(T0*)n;
}
}
else if(r66a_argument(C)){
_argument_name2=(C)->_last_expression/*97*/;
if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) {
case 176:
break;
default:
_argument_name2=NULL;
};{T246*n=malloc(sizeof(*n));
*n=M246;
r246make(n,_sp,_argument_name2);
C->_last_type=(T0*)n;
}
}
else{
{T243*n=malloc(sizeof(*n));
*n=M243;
r243make(n,_sp,r96to_simple_feature_name((T96*)(oBC66tmp_name)));
C->_last_type=(T0*)n;
}
}
/*FI]*/
}
else{
r66fcp(C,((T0*)ms66_350632));
}
/*FI]*/
}
else if(r66a_keyword(C,((T0*)ms12_10840))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_class_type(C)){
{T263*n=malloc(sizeof(*n));
*n=M263;
r263make(n,_sp,(C)->_last_class_type/*93*/);
C->_last_type=(T0*)n;
}
}
else{
r66fcp(C,((T0*)ms66_92480));
}
/*FI]*/
}
else if(r66a_keyword(C,((T0*)ms13_687))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_integer(C)){
{T264*n=malloc(sizeof(*n));
*n=M264;
r264make(n,_sp,(C)->_last_integer_constant/*129*/);
C->_last_type=(T0*)n;
}
}
else if(r66a_identifier(C)){
{T266*n=malloc(sizeof(*n));
*n=M266;
r266make(n,_sp,r96to_simple_feature_name((T96*)(oBC66tmp_name)));
C->_last_type=(T0*)n;
}
}
else{
r66fcp(C,((T0*)ms66_116370));
}
/*FI]*/
}
else if(r66a_type_formal_generic(C)){
C->_last_type=(C)->_last_type_formal_generic/*117*/;
}
else if(r66a_class_type(C)){
C->_last_type=(C)->_last_class_type/*93*/;
}
else{
R=0;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_rename*/
/*No:EIFFEL_PARSER.fz_rescue*/
T0* r66a_routine(T66* C){
T0* R=NULL;
T0* _ea=NULL;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10928))){
/*[IF*/
if(r66a_manifest_string(C)){
/*[IRF3.3set_obsolete_mark*/((((T186*)((T186*)(oBC66tmp_feature))))->_obsolete_mark)=((C)->_last_manifest_string/*145*/);
/*]*/
}
else{
r66fcp(C,((T0*)ms66_71060));
}
/*FI]*/
}
/*FI]*/
/*[IRF3.3set_header_comment*/((((T186*)((T186*)(oBC66tmp_feature))))->_header_comment)=(r66get_comments(C));
/*]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_8904))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1740))){
_hc=r66get_comments(C);
r186set_require_else((T186*)(oBC66tmp_feature),_sp,_hc,r66a_assertion(C));
}
else{
_hc=r66get_comments(C);
r186set_require((T186*)(oBC66tmp_feature),_sp,_hc,r66a_assertion(C));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2690a))){
r66a_local_var_list(C);
}
/*FI]*/
R=r66a_routine_body(C);
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7068))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
C->_in_ensure=1;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1764))){
_hc=r66get_comments(C);
_al=r66a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T203*n=malloc(sizeof(*n));
*n=M203;
r203make(n,_sp,_hc,_al);
_ea=(T0*)n;
}
/*[IRF3.3set_ensure_then*/((((T203*)(((T203*)_ea))))->_is_ensure_then)=(1);
/*]*/
}
/*FI]*/
X202set_ensure_assertion(R,_ea);
}
else{
_hc=r66get_comments(C);
_al=r66a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T203*n=malloc(sizeof(*n));
*n=M203;
r203make(n,_sp,_hc,_al);
_ea=(T0*)n;
}
}
/*FI]*/
X202set_ensure_assertion(R,_ea);
}
/*FI]*/
C->_in_ensure=0;
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7002))){
C->_in_rescue=1;
X202set_rescue_compound(R,r66a_compound2(C,((T0*)ms12_7002),((T0*)ms12_951)));
C->_in_rescue=0;
}
else{
/*[IF*/
if(!(r66a_keyword(C,((T0*)ms12_951)))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_72240);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
C->_local_vars=NULL;
return R;
}
T6 r66a_creation(T66* C){
T6 R=0;
T2 _state=0;
T0* _call=NULL;
T0* _proc_name=NULL;
T0* _writable=NULL;
T0* _type=NULL;
T0* _sp=NULL;
while (!((_state)>(6))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66skip1(C,'\41')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_state=1;
}
else{
_state=7;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_type(C)){
_type=(C)->_last_type/*157*/;
/*[IF*/
if(X46is_anchored(_type)){
r66warning(X46start_position(_type),((T0*)ms66_136367));
}
/*FI]*/
_state=2;
}
else if(r66skip1(C,'\41')){
_state=3;
}
else{
r66fcp(C,((T0*)ms66_74340));
_state=8;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66skip1(C,'\41')){
_state=3;
}
else{
_state=8;
r66fcp(C,((T0*)ms66_47516));
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if(r66a_identifier(C)){
/*[IF*/
if(r66a_current(C)){
_state=8;
r66error(X53start_position((C)->_last_expression/*97*/),((T0*)ms66_74830));
}
else if(r66a_argument(C)){
_state=8;
r66error(X53start_position((C)->_last_expression/*97*/),((T0*)ms66_112905));
}
else if((r66a_result(C))||(r66a_local_variable(C))){
_writable=(C)->_last_expression/*97*/;
_state=4;
}
else{
_writable=r96to_simple_feature_name((T96*)(oBC66tmp_name));
_state=4;
}
/*FI]*/
}
else{
_state=8;
r66fcp(C,((T0*)ms66_63591));
}
/*FI]*/
}
else
if((4==z1)){
/*[IF*/
if(r66skip1unless2(C,'\56','\56')){
_state=5;
}
else{
_state=7;
}
/*FI]*/
}
else
if((5==z1)){
/*[IF*/
if(r66a_identifier(C)){
_proc_name=r96to_simple_feature_name((T96*)(oBC66tmp_name));
_state=6;
}
else{
_state=8;
r66fcp(C,((T0*)ms66_85917));
}
/*FI]*/
}
else{/*[IF*/
if(((C)->_cc/*24*/)==('\50')){
_call=r66to_proc_call(C,_writable,_proc_name,r66a_actuals(C));
}
else{
{T150*n=malloc(sizeof(*n));
*n=M150;
r150make(n,_writable,_proc_name);
_call=(T0*)n;
}
}
/*FI]*/
_state=7;
}}
}
/*[IF*/
if(((_state)==(7))&&((_sp)!=((void*)(NULL)))){
R=1;
/*[IF*/
if(((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))){
{T235*n=malloc(sizeof(*n));
*n=M235;
r235make(n,_sp,_writable);
C->_last_instruction=(T0*)n;
}
}
else if(((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))){
{T238*n=malloc(sizeof(*n));
*n=M238;
r238make(n,_sp,_type,_writable);
C->_last_instruction=(T0*)n;
}
}
else if(((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))){
{T240*n=malloc(sizeof(*n));
*n=M240;
r240make(n,_sp,_writable,_call);
C->_last_instruction=(T0*)n;
}
}
else{
{T242*n=malloc(sizeof(*n));
*n=M242;
r242make(n,_sp,_type,_writable,_call);
C->_last_instruction=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r66a_real(T66* C){
T6 R=0;
T2 _c=0;
T2 _l=0;
T2 _state=0;
/*[IF*/
if((r3is_digit((C)->_cc/*24*/))||(((C)->_cc/*24*/)==('\56'))){
_l=(C)->_line/*16*/;
_c=(C)->_column/*12*/;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC66tmp_string))))->_count)=(0);
/*]*/
/*[IF*/
if(((C)->_cc/*24*/)==('\56')){
r7append((T7*)(oBC66tmp_string),((T0*)ms12_194));
_state=5;
}
else{
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
}
/*FI]*/
while (!((_state)>(11))) {
r66next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
}
else
if((46==z2)){
r7extend((T7*)(oBC66tmp_string),'\56');
_state=4;
}
else{_state=13;
}}
}
else
if((1==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=2;
}
else{r66fcp(C,((T0*)ms66_98851));
}}
}
else
if((2==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=3;
}
else{r66fcp(C,((T0*)ms66_98851));
}}
}
else
if((3==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=0;
}
else{r66fcp(C,((T0*)ms66_98851));
}}
}
else
if((4==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=6;
}
else
if((69==z2)||(101==z2)){
r7extend((T7*)(oBC66tmp_string),'E');
_state=10;
}
else{_state=12;
}}
}
else
if((5==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=6;
}
else{_state=13;
}}
}
else
if((6==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
}
else
if((69==z2)||(101==z2)){
r7extend((T7*)(oBC66tmp_string),'E');
_state=10;
}
else
if((95==z2)){
_state=7;
}
else{_state=12;
}}
}
else
if((7==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=8;
}
else{r66fcp(C,((T0*)ms66_146421));
}}
}
else
if((8==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=9;
}
else{r66fcp(C,((T0*)ms66_146421));
}}
}
else
if((9==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=6;
}
else{r66fcp(C,((T0*)ms66_146421));
}}
}
else
if((10==z1)){
{int z2=(C)->_cc/*24*/;
if((43==z2)){
_state=11;
}
else
if((45==z2)){
r7extend((T7*)(oBC66tmp_string),'\55');
_state=11;
}
else
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
_state=11;
}
else{r66fcp(C,((T0*)ms66_71434));
_state=13;
}}
}
else{{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
}
else{_state=12;
}}
}}
}
/*[IF*/
if((_state)==(12)){
{T161*n=malloc(sizeof(*n));
*n=M161;
r161make(n,r66pos(_l,_c),r7twin((T7*)(oBC66tmp_string)));
C->_last_real_constant=(T0*)n;
}
R=1;
r66skip_comments(C);
}
else{
r66go_back_at(C,_l,_c);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_elseif*/
void r66a_assignment_aux(T66* C,T6 a1){
T0* _rhs=NULL;
T0* _writable=NULL;
/*[IF*/
if(r66a_current(C)){
r67add_position(X53start_position((C)->_last_expression/*97*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_43368);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else if(r66a_void(C)){
r67add_position(r96start_position((T96*)(oBC66tmp_name)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_35190);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else if(r66a_argument(C)){
r67add_position(X53start_position((C)->_last_expression/*97*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_69224);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else{
/*[IF*/
if(r96is_result()){
_writable=r66last_result(C);
}
else if(r66a_local_variable(C)){
_writable=(C)->_last_expression/*97*/;
}
else{
_writable=r96to_simple_feature_name((T96*)(oBC66tmp_name));
}
/*FI]*/
/*[IF*/
if(r66a_expression(C)){
_rhs=(C)->_last_expression/*97*/;
/*[IF*/
if(a1){
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,_writable,_rhs);
C->_last_instruction=(T0*)n;
}
}
else{
{T269*n=malloc(sizeof(*n));
*n=M269;
r269make(n,_writable,_rhs);
C->_last_instruction=(T0*)n;
}
}
/*FI]*/
}
else{
r66fcp(C,((T0*)ms66_146421a));
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.us_double*/
T0* r66a_external(T66* C){
T0* R=NULL;
T0* _l=NULL;
/*[IF*/
if(((C)->_cc/*24*/)!=('\42')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_14027a);
r66warning(r66current_position(C1),b1);
}/*]*/
}
else{
C->_ok=r66skip1(C,'\42');
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_18788))){
{T278*n=malloc(sizeof(*n));
*n=M278;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms12_25909))){
{T279*n=malloc(sizeof(*n));
*n=M279;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms12_50768))){
{T281*n=malloc(sizeof(*n));
*n=M281;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms12_37456))){
{T282*n=malloc(sizeof(*n));
*n=M282;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms12_66440))){
{T283*n=malloc(sizeof(*n));
*n=M283;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms66_675))){
{T278*n=malloc(sizeof(*n));
*n=M278;
_l=(T0*)n;
}
r66wcpefnc(C,((T0*)ms66_675a),((T0*)ms12_18788));
}
else if(r66a_keyword(C,((T0*)ms66_681))){
{T279*n=malloc(sizeof(*n));
*n=M279;
_l=(T0*)n;
}
r66wcpefnc(C,((T0*)ms66_681a),((T0*)ms12_25909));
}
else if(r66a_keyword(C,((T0*)ms66_1216))){
{T281*n=malloc(sizeof(*n));
*n=M281;
_l=(T0*)n;
}
r66wcpefnc(C,((T0*)ms66_1216a),((T0*)ms12_50768));
}
else if(r66a_keyword(C,((T0*)ms66_68))){
{T282*n=malloc(sizeof(*n));
*n=M282;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms66_286))){
{T283*n=malloc(sizeof(*n));
*n=M283;
_l=(T0*)n;
}
r66wcpefnc(C,((T0*)ms66_286a),((T0*)ms12_66440));
}
else if(r66a_keyword(C,((T0*)ms12_32576))){
{T284*n=malloc(sizeof(*n));
*n=M284;
_l=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms12_38896))){
{T286*n=malloc(sizeof(*n));
*n=M286;
_l=(T0*)n;
}
}
else{
r66fcp(C,((T0*)ms66_1422390));
}
/*FI]*/
/*[IF*/
if(((C)->_cc/*24*/)!=('\42')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_14027a);
r66warning(r66current_position(C1),b1);
}/*]*/
}
else{
C->_ok=r66skip1(C,'\42');
}
/*FI]*/
R=r186to_external_routine((T186*)(oBC66tmp_feature),_l,r66a_alias(C));
return R;
}
/*No:EIFFEL_PARSER.fz_creation*/
T6 r66a_debug(T66* C){
T6 R=0;
T0* _e_debug=NULL;
T0* _list=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2670))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66skip1(C,'\50')){
while (!(!(r66a_manifest_string(C)))) {
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma209(1,
(C)->_last_manifest_string/*145*/);
}
else{
r209add_last(((T209*)_list),(C)->_last_manifest_string/*145*/);
}
/*FI]*/
C->_ok=r66skip1(C,'\54');
}
/*[IF*/
if((_list)==((void*)(NULL))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_61008);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(!(r66skip1(C,'\51'))){
r66fcp(C,((T0*)ms66_76190));
}
/*FI]*/
}
/*FI]*/
R=1;
{T208*n=malloc(sizeof(*n));
*n=M208;
r208make(n,_sp,_list,r66a_compound2(C,((T0*)ms66_2670),((T0*)ms12_951)));
_e_debug=(T0*)n;
}
C->_last_instruction=_e_debug;
}
/*FI]*/
return R;
}
T6 r66a_parent(T66* C){
T6 R=0;
/*[IF*/
if(r66a_class_type(C)){
R=1;
{T56*n=malloc(sizeof(*n));
*n=M56;
r56make(n,(C)->_last_class_type/*93*/);
C->_last_parent=(T0*)n;
}
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_6912))){
r66a_rename_list(C);
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_71638);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
/*FI]*/
}
/*FI]*/
r66a_new_export_list(C);
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10824))){
/*[IF*/
if(r66a_feature_name_list(C)){
/*[IRF3.3set_undefine*/((((T56*)((T56*)((C)->_last_parent/*149*/))))->_undefine_list)=((C)->_last_feature_name_list/*109*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_10728))){
/*[IF*/
if(r66a_feature_name_list(C)){
/*[IRF3.3set_redefine*/((((T56*)((T56*)((C)->_last_parent/*149*/))))->_redefine_list)=((C)->_last_feature_name_list/*109*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7410))){
/*[IF*/
if(r66a_feature_name_list(C)){
/*[IRF3.3set_select*/((((T56*)((T56*)((C)->_last_parent/*149*/))))->_select_list)=((C)->_last_feature_name_list/*109*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((((r66a_keyword(C,((T0*)ms12_6912)))||(r66a_keyword(C,((T0*)ms12_7614))))||(r66a_keyword(C,((T0*)ms12_10824))))||(r66a_keyword(C,((T0*)ms12_10728))))||(r66a_keyword(C,((T0*)ms12_7410)))){
r67add_position(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_667805);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
C->_ok=r66a_keyword(C,((T0*)ms12_951));
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_desc*/
T6 r66a_bit_constant(T66* C){
T6 R=0;
T2 _state=0;
T2 _c=0;
T2 _l=0;
/*[IF*/
if((((C)->_cc/*24*/)==('0'))||(((C)->_cc/*24*/)==('1'))){
_l=(C)->_line/*16*/;
_c=(C)->_column/*12*/;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC66tmp_string))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
while (!((_state)>(0))) {
r66next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=49))){
r7extend((T7*)(oBC66tmp_string),(C)->_cc/*24*/);
}
else
if((66==z1)||(98==z1)){
{T160*n=malloc(sizeof(*n));
*n=M160;
r160make(n,r66pos(_l,_c),r7twin((T7*)(oBC66tmp_string)));
C->_last_bit_constant=(T0*)n;
}
r66next_char(C);
r66skip_comments(C);
_state=1;
R=1;
}
else{r66go_back_at(C,_l,_c);
_state=2;
}}
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_and_then*/
/*No:EIFFEL_PARSER.fz_alias*/
void r66a_formal_generic_list(T66* C){
T2 _state=0;
T0* _list=NULL;
T0* _fga=NULL;
T0* _constraint=NULL;
T0* _name=NULL;
T0* _sp=NULL;
C->_formal_generic_list=NULL;
while (!((_state)>(4))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66skip1(C,'\133')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_state=1;
}
else{
_state=5;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_base_class_name(C)){
_name=(C)->_last_class_name/*89*/;
_state=2;
}
else{
_state=6;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66skip2(C,'\55','\76')){
_state=4;
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
{T43*n=malloc(sizeof(*n));
*n=M43;
r43make(n,_name,_constraint);
_fga=(T0*)n;
}
_name=NULL;
_constraint=NULL;
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma44(1,
_fga);
}
else{
r44add_last(((T44*)_list),_fga);
}
/*FI]*/
_fga=NULL;
/*[IF*/
if(r66skip1(C,'\54')){
_state=1;
}
else{
C->_ok=r66skip1(C,'\135');
_state=5;
}
/*FI]*/
}
else{
_state=6;
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
{T43*n=malloc(sizeof(*n));
*n=M43;
r43make(n,_name,_constraint);
_fga=(T0*)n;
}
_name=NULL;
_constraint=NULL;
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma44(1,
_fga);
}
else{
r44add_last(((T44*)_list),_fga);
}
/*FI]*/
_fga=NULL;
/*[IF*/
if(r66skip1(C,'\54')){
_state=1;
}
else{
C->_ok=r66skip1(C,'\135');
_state=5;
}
/*FI]*/
}
else{
_state=6;
}
/*FI]*/
}
else{/*[IF*/
if(r66a_class_type(C)){
_constraint=(C)->_last_class_type/*93*/;
_state=3;
}
else{
r66fcp(C,((T0*)ms66_60760));
_state=6;
}
/*FI]*/
}}
}
/*[IF*/
if((_state)==(6)){
}
else if(((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))){
r66warning(_sp,((T0*)ms66_79128a));
}
else if((_sp)!=((void*)(NULL))){
{T42*n=malloc(sizeof(*n));
*n=M42;
r42make(n,_sp,_list);
C->_formal_generic_list=(T0*)n;
}
/*[IRF3.3set_formal_generic_list*/((((T22*)((T22*)((C)->_last_base_class/*65*/))))->_formal_generic_list)=((C)->_formal_generic_list/*37*/);
/*]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_class*/
/*No:EIFFEL_PARSER.fz_prefix*/
/*No:EIFFEL_PARSER.fz_strip*/
/*No:EIFFEL_PARSER.fz_unique*/
T6 r66skip1unless2(T66* C,T3 a1,T3 a2){
T6 R=0;
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
/*[IF*/
if(((C)->_cc/*24*/)==(a1)){
r66next_char(C);
/*[IF*/
if(((C)->_cc/*24*/)==(a2)){
r66prev_char(C);
}
else{
R=1;
r66skip_comments(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.ecp*/
void r66fcp(T66* C,T0* a1){
r67add_position(r66current_position(C));
/*[IRF3.6fatal_error*/{T0* b1=a1;
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
T0* r66a_compound1(T66* C){
T0* R=NULL;
T0* _remainder=NULL;
T0* _first_one=NULL;
T0* _instruction=NULL;
T0* _hc=NULL;
_hc=r66get_comments(C);
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
while (!((!(r66a_instruction(C)))||((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)>(0)))) {
_instruction=(C)->_last_instruction/*133*/;
/*[IF*/
if(((C)->_cc/*24*/)==('\50')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_9410a);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
C->_ok=r66skip1(C,'\73');
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_instruction=X148add_comment(_instruction,r66get_comments(C));
/*[IF*/
if((_first_one)==((void*)(NULL))){
_first_one=_instruction;
}
else{
/*[IF*/
if((_remainder)==((void*)(NULL))){
{T205*n=malloc(sizeof(*n));
*n=M205;
r205with_capacity(n,4);
_remainder=(T0*)n;
}
}
/*FI]*/
r205add_last(((T205*)_remainder),_instruction);
}
/*FI]*/
}
/*FI]*/
}
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
{T204*n=malloc(sizeof(*n));
*n=M204;
r204make(n,_hc,_first_one,_remainder);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T6 r66a_result(T66* C){
T6 R=0;
/*[IF*/
if(r96is_result()){
C->_last_expression=r66last_result(C);
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_all*/
T6 r66skip1(T66* C,T3 a1){
T6 R=0;
/*[IF*/
if((a1)==((C)->_cc/*24*/)){
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
R=1;
r66next_char(C);
r66skip_comments(C);
}
/*FI]*/
return R;
}
T6 r66skip2(T66* C,T3 a1,T3 a2){
T6 R=0;
/*[IF*/
if((a1)==((C)->_cc/*24*/)){
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
r66next_char(C);
/*[IF*/
if((a2)==((C)->_cc/*24*/)){
R=1;
r66next_char(C);
r66skip_comments(C);
}
else{
r66prev_char(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_keyword*/
T0*oBC66lcs=NULL;
T6 r66a_boolean_constant(T66* C){
T6 R=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1832))){
{T155*n=malloc(sizeof(*n));
*n=M155;
/*[IRF3.3make*/((((T155*)(n)))->_start_position)=(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
C->_last_boolean_constant=(T0*)n;
}
R=1;
}
else if(r66a_keyword(C,((T0*)ms12_2690))){
{T156*n=malloc(sizeof(*n));
*n=M156;
/*[IRF3.3make*/((((T156*)(n)))->_start_position)=(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
C->_last_boolean_constant=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
T6 r66a_index_clause(T66* C){
T6 R=0;
T0* _index_clause=NULL;
/*[IF*/
if(r66a_identifier(C)){
R=1;
/*[IF*/
if(r66skip1(C,'\72')){
{T306*n=malloc(sizeof(*n));
*n=M306;
/*[IRF3.3with_tag*/((((T306*)(n)))->_tag)=(r96to_string((T96*)(oBC66tmp_name)));
/*]*/
_index_clause=(T0*)n;
}
/*[IF*/
if(r66a_index_value(C)){
r306add_last(((T306*)_index_clause),(C)->_last_index_value/*137*/);
}
else{
r66fcp(C,((T0*)ms66_86146));
}
/*FI]*/
}
else{
{T306*n=malloc(sizeof(*n));
*n=M306;
/*[IRF3.6without_tag*/{T306* C1=n;
T0* b1=r96to_simple_feature_name((T96*)(oBC66tmp_name));
r306add_last(C1,b1);
}/*]*/
_index_clause=(T0*)n;
}
}
/*FI]*/
}
else if(r66a_manifest_constant(C)){
R=1;
{T306*n=malloc(sizeof(*n));
*n=M306;
/*[IRF3.6without_tag*/{T306* C1=n;
T0* b1=(C)->_last_manifest_constant/*141*/;
r306add_last(C1,b1);
}/*]*/
_index_clause=(T0*)n;
}
}
/*FI]*/
/*[IF*/
if(R){
while (!(!(r66skip1(C,'\54')))) {
/*[IF*/
if(r66a_index_value(C)){
r306add_last(((T306*)_index_clause),(C)->_last_index_value/*137*/);
}
else{
r66fcp(C,((T0*)ms66_86146));
}
/*FI]*/
}
r22add_index_clause((T22*)((C)->_last_base_class/*65*/),_index_clause);
}
/*FI]*/
return R;
}
T6 r66a_instruction(T66* C){
T6 R=0;
R=(((((((r66a_check(C))||(r66a_debug(C)))||(r66a_conditional(C)))||(r66a_retry(C)))||(r66a_inspect(C)))||(r66a_loop(C)))||(r66a_creation(C)))||(r66a_assignment_or_call(C));
return R;
}
void r66wcpefnc(T66* C,T0* a1,T0* a2){
/*[IRF3.6append*/{T0* b1=((T0*)ms66_44280);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms66_6730);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_94878);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*No:EIFFEL_PARSER.wcp*/
/*No:EIFFEL_PARSER.last_type_formal_generic*/
T6 r66a_base_type(T66* C){
T6 R=0;
T0* _sp=NULL;
R=1;
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_714))){
{T247*n=malloc(sizeof(*n));
*n=M247;
r247make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_1990))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((r66skip1(C,'\133'))&&(r66a_type(C)))&&(r66skip1(C,'\135'))){
{T248*n=malloc(sizeof(*n));
*n=M248;
r248make(n,_sp,(C)->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else{
r66fcp(C,((T0*)ms66_64185));
}
/*FI]*/
}
else if(r66a_keyword(C,((T0*)ms13_17628))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((r66skip1(C,'\133'))&&(r66a_type(C)))&&(r66skip1(C,'\135'))){
{T251*n=malloc(sizeof(*n));
*n=M251;
r251make(n,_sp,(C)->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else{
r66fcp(C,((T0*)ms66_90680));
}
/*FI]*/
}
else if(r66a_keyword(C,((T0*)ms66_7203))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((r66skip1(C,'\133'))&&(r66a_type(C)))&&(r66skip1(C,'\135'))){
{T251*n=malloc(sizeof(*n));
*n=M251;
r251make(n,_sp,(C)->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else{
r66fcp(C,((T0*)ms66_71295));
}
/*FI]*/
r66warning(_sp,((T0*)ms66_151262));
}
else if(r66a_keyword(C,((T0*)ms13_6510))){
{T252*n=malloc(sizeof(*n));
*n=M252;
r252make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_9936))){
{T254*n=malloc(sizeof(*n));
*n=M254;
r254make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_4818))){
{T255*n=malloc(sizeof(*n));
*n=M255;
r255make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_6748))){
{T256*n=malloc(sizeof(*n));
*n=M256;
r256make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_1256))){
{T257*n=malloc(sizeof(*n));
*n=M257;
r257make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_6881))){
{T258*n=malloc(sizeof(*n));
*n=M258;
r258make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_1208))){
{T259*n=malloc(sizeof(*n));
*n=M259;
r259make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_5046))){
{T260*n=malloc(sizeof(*n));
*n=M260;
r260make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else{
R=0;
}
/*FI]*/
return R;
}
void r66a_procedure_call(T66* C){
T0* _implicit_current=NULL;
T0* _sfn=NULL;
_sfn=r96to_simple_feature_name((T96*)(oBC66tmp_name));
{T181*n=malloc(sizeof(*n));
*n=M181;
/*[IRF3.3make*/((((T181*)(n)))->_start_position)=((((T135*)_sfn))->_start_position/*8*/);
/*]*/
_implicit_current=(T0*)n;
}
r66a_r10(C,1,_implicit_current,_sfn,r66a_actuals(C));
}
T0* r66pos(T2 a1,T2 a2){
T0* R=NULL;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,a1,a2);
R=(T0*)n;
}
return R;
}
void r66show_nb(T2 a1,T0* a2){
/*[IF*/
if((a1)>(0)){
r35w_put_string(((T0*)ms12_3143));
r35w_put_integer(a1);
r35w_put_string(a2);
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_error_stars*/
/*No:EIFFEL_PARSER.us_minus*/
T6 r66a_identifier(T66* C){
T6 R=0;
/*[IF*/
if((C)->_case_insensitive/*0*/){
R=r66a_identifier1(C);
}
else{
R=r66a_identifier2(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_else*/
T0* r66a_compound2(T66* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _remainder=NULL;
T0* _first_one=NULL;
T0* _instruction=NULL;
T0* _hc=NULL;
_hc=r66get_comments(C);
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
while (!((!(r66a_instruction(C)))||((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)>(0)))) {
_instruction=(C)->_last_instruction/*133*/;
/*[IF*/
if(((C)->_cc/*24*/)==('\50')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_9410a);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
C->_ok=r66skip1(C,'\73');
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_instruction=X148add_comment(_instruction,r66get_comments(C));
/*[IF*/
if((_first_one)==((void*)(NULL))){
_first_one=_instruction;
}
else{
/*[IF*/
if((_remainder)==((void*)(NULL))){
{T205*n=malloc(sizeof(*n));
*n=M205;
r205with_capacity(n,4);
_remainder=(T0*)n;
}
}
/*FI]*/
r205add_last(((T205*)_remainder),_instruction);
}
/*FI]*/
}
/*FI]*/
}
/*[IF*/
if(!(r66a_keyword(C,a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms66_12480);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms66_33345);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r66fcp(C,((T0*)ms66_10120a));
}
/*FI]*/
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
{T204*n=malloc(sizeof(*n));
*n=M204;
r204make(n,_hc,_first_one,_remainder);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_deferred*/
/*No:EIFFEL_PARSER.fz_like*/
T6 r66a_loop(T66* C){
T6 R=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _lb=NULL;
T0* _ue=NULL;
T0* _vc=NULL;
T0* _ic=NULL;
T0* _i=NULL;
T0* _e_loop=NULL;
T2 _c2=0;
T2 _l2=0;
T2 _c1=0;
T2 _l1=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1784))){
R=1;
_l1=(C)->_start_line/*169*/;
_c1=(C)->_start_column/*165*/;
_i=r66a_compound1(C);
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_14427))){
_l2=(C)->_start_line/*169*/;
_c2=(C)->_start_column/*165*/;
_hc=r66get_comments(C);
_al=r66a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T231*n=malloc(sizeof(*n));
*n=M231;
r231make(n,r66pos(_l2,_c2),_hc,_al);
_ic=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_9506))){
/*[IF*/
if((r66a_tag_mark(C))&&(r66a_expression(C))){
{T233*n=malloc(sizeof(*n));
*n=M233;
r233make(n,(C)->_last_tag_mark/*161*/,(C)->_last_expression/*97*/,r66get_comments(C));
_vc=(T0*)n;
}
}
else if(r66a_expression(C)){
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(C)->_last_expression/*97*/,r66get_comments(C));
_vc=(T0*)n;
}
}
else{
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_85956);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2855))){
/*[IF*/
if(r66a_expression(C)){
_ue=X53add_comment((C)->_last_expression/*97*/,r66get_comments(C));
}
else{
r66fcp(C,((T0*)ms66_78048));
_ue=(C)->_last_expression/*97*/;
}
/*FI]*/
}
else{
r66fcp(C,((T0*)ms66_83028));
_ue=(C)->_last_expression/*97*/;
}
/*FI]*/
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
/*FI]*/
/*[IF*/
if(!(r66a_keyword(C,((T0*)ms12_1808)))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_79128);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
_lb=r66a_compound2(C,((T0*)ms66_14202),((T0*)ms12_951));
{T232*n=malloc(sizeof(*n));
*n=M232;
r232make(n,r66pos(_l1,_c1),_i,_ic,_vc,_ue,_lb);
_e_loop=(T0*)n;
}
C->_last_instruction=_e_loop;
}
/*FI]*/
return R;
}
T6 r66a_base_class_name(T66* C){
T6 R=0;
T6 _do_warning=0;
T2 _state=0;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
/*[IF*/
if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
_do_warning=1;
C->_cc=r3to_upper((C)->_cc/*24*/);
}
/*FI]*/
r96initialize((T96*)(oBC66tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r66next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else
if(((97<=z1)&&(z1<=122))){
_do_warning=1;
/*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
/*[IF*/
if(r96isa_keyword()){
_state=/*(IRF4.9count*/((T7*)(oBC96tmp_string))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r66prev_char(C);
}
}
else{
R=1;
r66skip_comments(C);
/*[IF*/
if(_do_warning){
r66warning(r96start_position((T96*)(oBC66tmp_name)),((T0*)ms66_116415));
}
/*FI]*/
C->_last_class_name=r96to_class_name((T96*)(oBC66tmp_name));
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r66a_manifest_constant(T66* C){
T6 R=0;
/*[IF*/
if(r66a_boolean_constant(C)){
C->_last_manifest_constant=(C)->_last_boolean_constant/*81*/;
R=1;
}
else if(r66a_character_constant(C)){
C->_last_manifest_constant=(C)->_last_character_constant/*85*/;
R=1;
}
else if(r66a_manifest_string(C)){
C->_last_manifest_constant=(C)->_last_manifest_string/*145*/;
R=1;
}
else if(r66a_bit_constant(C)){
C->_last_manifest_constant=(C)->_last_bit_constant/*77*/;
R=1;
}
else if(r66a_real_constant(C)){
C->_last_manifest_constant=(C)->_last_real_constant/*153*/;
R=1;
}
else if(r66a_integer_constant(C)){
C->_last_manifest_constant=(C)->_last_integer_constant/*129*/;
R=1;
}
/*FI]*/
return R;
}
T6 r66a_identifier1(T66* C){
T6 R=0;
T2 _state=0;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r96initialize((T96*)(oBC66tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r66next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else
if(((65<=z1)&&(z1<=90))){
/*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
/*[IF*/
if(r96isa_keyword()){
_state=/*(IRF4.9count*/((T7*)(oBC96tmp_string))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r66prev_char(C);
}
}
else{
R=1;
r66skip_comments(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r66a_formal_arg_list(T66* C){
T2 _state=0;
T0* _list=NULL;
T0* _declaration=NULL;
T0* _name_list=NULL;
T0* _name=NULL;
T6 _started=0;
C->_arguments=NULL;
while (!((_state)>(5))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66skip1(C,'\50')){
_started=1;
_state=1;
}
else{
_state=6;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_identifier(C)){
_name=r96to_argument_name1((T96*)(oBC66tmp_name));
_state=2;
}
else if(r66skip1(C,'\51')){
_state=6;
}
else{
_state=7;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66skip1(C,'\72')){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
r179add_last(((T179*)_name_list),_name);
_name=NULL;
}
/*FI]*/
_state=4;
}
else{
C->_ok=r66skip1(C,'\54');
/*[IF*/
if((_name_list)==((void*)(NULL))){
_name_list=se_ma179(1,
_name);
}
else{
r179add_last(((T179*)_name_list),_name);
}
/*FI]*/
_name=NULL;
_state=3;
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if(r66a_identifier(C)){
_name=r96to_argument_name1((T96*)(oBC66tmp_name));
_state=2;
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_38712);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=(r66skip1(C,'\54'))||(r66skip1(C,'\73'));
}
else{
_state=7;
}
/*FI]*/
}
else
if((4==z1)){
/*[IF*/
if(r66a_type(C)){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
{T296*n=malloc(sizeof(*n));
*n=M296;
r296make(n,_name_list,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name_list=NULL;
}
else{
{T299*n=malloc(sizeof(*n));
*n=M299;
r299make(n,_name,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name=NULL;
}
/*FI]*/
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma294(1,
_declaration);
}
else{
r294add_last(((T294*)_list),_declaration);
}
/*FI]*/
_declaration=NULL;
_state=5;
}
else{
_state=7;
}
/*FI]*/
}
else{/*[IF*/
if(r66skip1(C,'\51')){
_state=6;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_29280aa);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
_state=1;
}
else{
C->_ok=r66skip1(C,'\73');
_state=1;
}
/*FI]*/
}}
}
/*[IF*/
if((_state)==(7)){
r66fcp(C,((T0*)ms66_39050));
}
else if(_started){
/*[IF*/
if((_list)==((void*)(NULL))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_83028a);
r66warning(r66current_position(C1),b1);
}/*]*/
}
else{
{T175*n=malloc(sizeof(*n));
*n=M175;
r175make(n,_list);
C->_arguments=(T0*)n;
}
/*[IRF3.3set_arguments*/((((T186*)((T186*)(oBC66tmp_feature))))->_arguments)=((C)->_arguments/*49*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
}
T6 r66a_check(T66* C){
T6 R=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_2625))){
R=1;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_hc=r66get_comments(C);
_al=r66a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T206*n=malloc(sizeof(*n));
*n=M206;
r206make(n,_sp,_hc,_al);
C->_last_instruction=(T0*)n;
}
}
else{
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_64448);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(!(r66a_keyword(C,((T0*)ms12_951)))){
r66fcp(C,((T0*)ms66_142100));
}
/*FI]*/
}
/*FI]*/
return R;
}
void r66to_frozen_feature_name(T66* C){
{T301*n=malloc(sizeof(*n));
*n=M301;
/*[IRF3.3make*/((((T301*)(n)))->_feature_name)=((C)->_last_feature_name/*105*/);
/*]*/
C->_last_feature_name=(T0*)n;
}
}
/*No:EIFFEL_PARSER.us_boolean*/
T6 r66a_binary(T66* C,T0* a1){
T6 R=0;
R=1;
/*[IF*/
if(r66skip2(C,'\74','\75')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_248),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip2(C,'\76','\75')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_252),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip2(C,'\57','\57')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms66_194),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip2(C,'\134','\134')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms66_374),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\53')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_44),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\55')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_46),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\52')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_43),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\57')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_48),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\76')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_63),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\74')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_61),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66skip1(C,'\136')){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms66_95),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_1053a))){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_1053a),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_9513))){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_9513),a1);
C->_last_binary=(T0*)n;
}
}
else if(r66a_keyword(C,((T0*)ms13_939))){
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1764))){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_10800),a1);
C->_last_binary=(T0*)n;
}
}
else{
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_939),a1);
C->_last_binary=(T0*)n;
}
}
/*FI]*/
}
else if(r66a_keyword(C,((T0*)ms13_456))){
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1740))){
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_8316),a1);
C->_last_binary=(T0*)n;
}
}
else{
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,((T0*)ms13_456),a1);
C->_last_binary=(T0*)n;
}
}
/*FI]*/
}
else{
C->_last_binary=NULL;
R=0;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_once*/
/*No:EIFFEL_PARSER.fz_if*/
/*No:EIFFEL_PARSER.column*/
void r66a_new_export_list(T66* C){
T2 _state=0;
T0* _new_export_item=NULL;
T0* _items=NULL;
T0* _clients=NULL;
T0* _sp=NULL;
T0* _export_list=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7614))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(((C)->_cc/*24*/)==('\173')){
_clients=r66a_clients(C);
_state=1;
}
else if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms12_41475);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
else{
/*[IF*/
if((_items)!=((void*)(NULL))){
{T303*n=malloc(sizeof(*n));
*n=M303;
r303make(n,_sp,_items);
_export_list=(T0*)n;
}
/*[IRF3.3set_export*/((((T56*)((T56*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
/*]*/
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_957a))){
{T302*n=malloc(sizeof(*n));
*n=M302;
r302make_all(n,_clients);
_new_export_item=(T0*)n;
}
/*[IF*/
if((_items)==((void*)(NULL))){
_items=se_ma304(1,
_new_export_item);
}
else{
r304add_last(((T304*)_items),_new_export_item);
}
/*FI]*/
_state=2;
}
else{
/*[IF*/
if(r66a_feature_name_list(C)){
{T302*n=malloc(sizeof(*n));
*n=M302;
r302make(n,_clients,(C)->_last_feature_name_list/*109*/);
_new_export_item=(T0*)n;
}
/*[IF*/
if((_items)==((void*)(NULL))){
_items=se_ma304(1,
_new_export_item);
}
else{
r304add_last(((T304*)_items),_new_export_item);
}
/*FI]*/
_state=2;
}
else{
_state=3;
}
/*FI]*/
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66skip1(C,'\73')){
_state=0;
}
else if(((C)->_cc/*24*/)==('\173')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_9410a);
r66warning(r66current_position(C1),b1);
}/*]*/
_state=0;
}
else{
/*[IF*/
if((_items)!=((void*)(NULL))){
{T303*n=malloc(sizeof(*n));
*n=M303;
r303make(n,_sp,_items);
_export_list=(T0*)n;
}
/*[IRF3.3set_export*/((((T56*)((T56*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
/*]*/
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else{r66fcp(C,((T0*)ms66_20247));
_state=4;
}}
}
}
/*FI]*/
}
void r66a_creation_clause(T66* C,T0* a1){
T0* _creation_clause=NULL;
T0* _comments=NULL;
T0* _clients=NULL;
_clients=r66a_clients(C);
_comments=r66get_comments(C);
/*[IF*/
if(r66a_feature_name_list(C)){
}
/*FI]*/
{T74*n=malloc(sizeof(*n));
*n=M74;
r74make(n,a1,_clients,_comments,(C)->_last_feature_name_list/*109*/);
_creation_clause=(T0*)n;
}
r22add_creation_clause((T22*)((C)->_last_base_class/*65*/),_creation_clause);
}
/*No:EIFFEL_PARSER.show_nb_errors*/
/*No:EIFFEL_PARSER.last_integer_constant*/
/*No:EIFFEL_PARSER.last_boolean_constant*/
T6 r66a_integer_constant(T66* C){
T6 R=0;
T2 _c=0;
T2 _l=0;
/*[IF*/
if(r66skip1(C,'\53')){
_l=(C)->_start_line/*169*/;
_c=(C)->_start_column/*165*/;
/*[IF*/
if(r66a_integer(C)){
r69set_line_column((T69*)(((T162*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
R=1;
}
else{
r66fcp(C,((T0*)ms12_45846));
}
/*FI]*/
}
else if(r66skip1(C,'\55')){
_l=(C)->_start_line/*169*/;
_c=(C)->_start_column/*165*/;
/*[IF*/
if(r66a_integer(C)){
r69set_line_column((T69*)(((T162*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
r162unary_minus((T162*)((C)->_last_integer_constant/*129*/));
R=1;
}
else{
r66fcp(C,((T0*)ms12_45846));
}
/*FI]*/
}
else{
R=r66a_integer(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_do*/
/*No:EIFFEL_PARSER.fz_as*/
/*No:EIFFEL_PARSER.us_ge*/
/*No:EIFFEL_PARSER.go_back*/
T6 r66a_prefix(T66* C){
T6 R=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_7614a))){
R=1;
/*[IF*/
if(((C)->_cc/*24*/)==('\42')){
r66next_char(C);
}
else{
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_89232);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(r66a_unary(C)){
}
else if(r66a_free_operator(C)){
C->_last_prefix=r96to_prefix_name((T96*)(oBC66tmp_name));
}
else{
r66fcp(C,((T0*)ms66_56910));
}
/*FI]*/
/*[IF*/
if(!(r66skip1(C,'\42'))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_38352);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_feature_declaration*/
/*No:EIFFEL_PARSER.us_none*/
/*No:EIFFEL_PARSER.start_column*/
/*No:EIFFEL_PARSER.us_string*/
/*No:EIFFEL_PARSER.fz_se*/
/*No:EIFFEL_PARSER.fz_true*/
/*No:EIFFEL_PARSER.us_le*/
/*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/
/*No:EIFFEL_PARSER.fz_c_withoutcurrent*/
void r66a_local_var_list(T66* C){
T2 _state=0;
T2 _rank=0;
T0* _list=NULL;
T0* _declaration=NULL;
T0* _name_list=NULL;
T0* _name=NULL;
while (!((_state)>(4))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66a_identifier(C)){
_name=r96to_local_name1((T96*)(oBC66tmp_name));
_state=1;
/*[IF*/
if(((C)->_arguments/*49*/)!=((void*)(NULL))){
_rank=r175rank_of((T175*)((C)->_arguments/*49*/),(((T171*)_name))->_to_string/*8*/);
/*[IF*/
if((_rank)>(0)){
r67add_position((((T171*)_name))->_start_position/*4*/);
r67add_position(((T178*)(/*(IRF4.6name*/r179item(((T179*)(((T175*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
r67error((T67*)(oBC11eh),((T0*)ms66_112815));
}
/*FI]*/
}
/*FI]*/
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_38712);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=(r66skip1(C,'\54'))||(r66skip1(C,'\73'));
}
else{
_state=5;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66skip1(C,'\72')){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
r173add_last(((T173*)_name_list),_name);
_name=NULL;
}
/*FI]*/
_state=3;
}
else{
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_29280);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\73');
}
else{
C->_ok=r66skip1(C,'\54');
}
/*FI]*/
/*[IF*/
if((_name_list)==((void*)(NULL))){
_name_list=se_ma173(1,
_name);
}
else{
r173add_last(((T173*)_name_list),_name);
}
/*FI]*/
_name=NULL;
_state=2;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66a_identifier(C)){
_name=r96to_local_name1((T96*)(oBC66tmp_name));
_state=1;
/*[IF*/
if(((C)->_arguments/*49*/)!=((void*)(NULL))){
_rank=r175rank_of((T175*)((C)->_arguments/*49*/),(((T171*)_name))->_to_string/*8*/);
/*[IF*/
if((_rank)>(0)){
r67add_position((((T171*)_name))->_start_position/*4*/);
r67add_position(((T178*)(/*(IRF4.6name*/r179item(((T179*)(((T175*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
r67error((T67*)(oBC11eh),((T0*)ms66_112815a));
}
/*FI]*/
}
/*FI]*/
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_38712);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=(r66skip1(C,'\54'))||(r66skip1(C,'\73'));
}
else{
_state=6;
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if(r66a_type(C)){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
{T296*n=malloc(sizeof(*n));
*n=M296;
r296make(n,_name_list,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name_list=NULL;
}
else{
{T299*n=malloc(sizeof(*n));
*n=M299;
r299make(n,_name,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name=NULL;
}
/*FI]*/
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma294(1,
_declaration);
}
else{
r294add_last(((T294*)_list),_declaration);
}
/*FI]*/
_state=4;
}
else{
_state=6;
}
/*FI]*/
}
else{/*[IF*/
if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_29280a);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
_state=0;
}
else{
C->_ok=r66skip1(C,'\73');
_state=0;
}
/*FI]*/
}}
}
/*[IF*/
if((_state)==(6)){
r66fcp(C,((T0*)ms66_36528));
}
else if((_list)!=((void*)(NULL))){
{T166*n=malloc(sizeof(*n));
*n=M166;
/*[IRF3.6make*/{T166* C1=n;
T0* b1=_list;
r166declaration_list_make(C1,b1);
}/*]*/
C->_local_vars=(T0*)n;
}
/*[IRF3.3set_local_vars*/((((T186*)((T186*)(oBC66tmp_feature))))->_local_vars)=((C)->_local_vars/*53*/);
/*]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_is*/
T6 r66a_precursor(T66* C,T6 a1){
T6 R=0;
T0* _args=NULL;
T0* _parent=NULL;
T0* _sp=NULL;
/*[IF*/
if(r66skip1(C,'\173')){
R=1;
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66skip1(C,'\173')){
r66warning(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms66_104490a));
}
/*FI]*/
/*[IF*/
if(r66a_base_class_name(C)){
_parent=(C)->_last_class_name/*89*/;
}
/*FI]*/
/*[IF*/
if(!(r66skip1(C,'\175'))){
r66fcp(C,((T0*)ms66_202947));
}
/*FI]*/
/*[IF*/
if(r66skip1(C,'\175')){
r66warning(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms66_104490));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_13968))){
R=1;
/*[IF*/
if((_sp)==((void*)(NULL))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
}
/*FI]*/
_args=r66a_actuals(C);
}
else if((_sp)!=((void*)(NULL))){
r66fcp(C,((T0*)ms66_63936));
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(r66skip1unless2(C,'\56','\56')){
{T163*n=malloc(sizeof(*n));
*n=M163;
r163make(n,_sp,_parent,_args);
C->_last_expression=(T0*)n;
}
r66a_after_a_dot(C,a1,(C)->_last_expression/*97*/);
}
else if(a1){
{T165*n=malloc(sizeof(*n));
*n=M165;
r165make(n,_sp,_parent,_args);
C->_last_instruction=(T0*)n;
}
}
else{
{T163*n=malloc(sizeof(*n));
*n=M163;
r163make(n,_sp,_parent,_args);
C->_last_expression=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.inside_once_function*/
/*No:EIFFEL_PARSER.us_neq*/
/*No:EIFFEL_PARSER.us_eq*/
T6 r66a_character_constant(T66* C){
T6 R=0;
T3 _value=0;
T2 _printing_mode=0;
T2 _state=0;
T0* _sp=NULL;
/*[IF*/
if(((C)->_cc/*24*/)==('\47')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_line/*16*/,(C)->_column/*12*/);
_sp=(T0*)n;
}
R=1;
while (!((_state)>(2))) {
r66next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if((37==z2)){
_state=1;
}
else
if((39==z2)){
r66fcp(C,((T0*)ms66_33741));
_state=2;
}
else{_value=(C)->_cc/*24*/;
_printing_mode=0;
_state=2;
}}
}
else
if((1==z1)){
_printing_mode=1;
_state=2;
{int z2=(C)->_cc/*24*/;
if((65==z2)){
_value='\100';
}
else
if((66==z2)){
_value='\10';
}
else
if((67==z2)){
_value='\136';
}
else
if((68==z2)){
_value='\44';
}
else
if((70==z2)){
_value='\14';
}
else
if((72==z2)){
_value='\134';
}
else
if((76==z2)){
_value='\176';
}
else
if((78==z2)){
_value='\n';
}
else
if((81==z2)){
_value='\140';
}
else
if((82==z2)){
_value='\15';
}
else
if((83==z2)){
_value='\43';
}
else
if((84==z2)){
_value='\11';
}
else
if((85==z2)){
_value='\0';
}
else
if((86==z2)){
_value='\174';
}
else
if((37==z2)){
_value='\45';
}
else
if((39==z2)){
_value='\47';
}
else
if((34==z2)){
_value='\42';
}
else
if((40==z2)){
_value='\133';
}
else
if((41==z2)){
_value='\135';
}
else
if((60==z2)){
_value='\173';
}
else
if((62==z2)){
_value='\175';
}
else
if((47==z2)){
r66a_ascii_code(C);
_value=((T3)((C)->_last_ascii_code/*61*/));
_printing_mode=2;
}
else{r66fcp(C,((T0*)ms66_45084));
}}
}
else{_state=3;
{int z2=(C)->_cc/*24*/;
if((39==z2)){
}
else{r66fcp(C,((T0*)ms66_33741));
}}
r66next_char(C);
r66skip_comments(C);
}}
}
{T157*n=malloc(sizeof(*n));
*n=M157;
r157make(n,_sp,_value,_printing_mode);
C->_last_character_constant=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fatal_error*/
T6 r66a_free_operator(T66* C){
T6 R=0;
/*[IF*/
if((((((C)->_cc/*24*/)==('\100'))||(((C)->_cc/*24*/)==('\43')))||(((C)->_cc/*24*/)==('\174')))||(((C)->_cc/*24*/)==('\46'))){
R=1;
r96initialize((T96*)(oBC66tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
r66next_char(C);
while (!((((((C)->_cc/*24*/)==('\n'))||(((C)->_cc/*24*/)==('\40')))||(((C)->_cc/*24*/)==('\11')))||(((C)->_cc/*24*/)==('\42')))) {
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
r66next_char(C);
}
r66skip_comments(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.em10*/
/*No:EIFFEL_PARSER.us_gt*/
/*No:EIFFEL_PARSER.em11*/
/*No:EIFFEL_PARSER.em20*/
/*No:EIFFEL_PARSER.em12*/
/*No:EIFFEL_PARSER.em13*/
/*No:EIFFEL_PARSER.fz_c_withcurrent*/
void r66a_then_part_list(T66* C,T0* a1){
/*[IF*/
if(!(r66a_then_part(C,a1))){
r66fcp(C,((T0*)ms66_28035));
}
/*FI]*/
while (!(!(r66a_keyword(C,((T0*)ms12_6942))))) {
/*[IF*/
if(!(r66a_then_part(C,a1))){
r66fcp(C,((T0*)ms66_37875));
}
/*FI]*/
}
}
void r66warning(T0* a1,T0* a2){
r67add_position(a1);
r67warning((T67*)(oBC11eh),a2);
}
/*No:EIFFEL_PARSER.em15*/
/*No:EIFFEL_PARSER.em16*/
/*No:EIFFEL_PARSER.us_lt*/
T6 r66a_identifier2(T66* C){
T6 R=0;
T6 _do_warning=0;
T2 _state=0;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r96initialize((T96*)(oBC66tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r66next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else
if(((65<=z1)&&(z1<=90))){
_do_warning=1;
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC96tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
/*[IF*/
if(r96isa_keyword()){
_state=/*(IRF4.9count*/((T7*)(oBC96tmp_string))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r66prev_char(C);
}
}
else{
R=1;
r66skip_comments(C);
/*[IF*/
if(_do_warning){
r66warning(r96start_position((T96*)(oBC66tmp_name)),((T0*)ms66_116325));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.current_line*/
/*No:EIFFEL_PARSER.em17*/
/*No:EIFFEL_PARSER.fz_obsolete*/
/*No:EIFFEL_PARSER.us_or*/
/*No:EIFFEL_PARSER.em18*/
/*No:EIFFEL_PARSER.us_bit*/
/*No:EIFFEL_PARSER.em19*/
void r66error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:EIFFEL_PARSER.fz_expanded*/
/*No:EIFFEL_PARSER.fz_infix*/
/*No:EIFFEL_PARSER.last_base_type*/
/*No:EIFFEL_PARSER.current_class_name*/
/*No:EIFFEL_PARSER.last_real_constant*/
/*No:EIFFEL_PARSER.last_bit_constant*/
T0* r66to_call(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if((a2)==((void*)(NULL))){
R=a1;
}
else if((a3)==((void*)(NULL))){
{T137*n=malloc(sizeof(*n));
*n=M137;
r137make(n,a1,a2);
R=(T0*)n;
}
}
else if((r136count(((T136*)a3)))==(1)){
{T139*n=malloc(sizeof(*n));
*n=M139;
r139make(n,a1,a2,a3);
R=(T0*)n;
}
}
else{
{T140*n=malloc(sizeof(*n));
*n=M140;
r140make(n,a1,a2,a3);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.nb_warnings*/
/*No:EIFFEL_PARSER.fz_redefine*/
T0*oBC66tmp_feature=NULL;
/*No:EIFFEL_PARSER.fz_retry*/
/*No:EIFFEL_PARSER.us_xor*/
T6 r66a_e0(T66* C){
T6 R=0;
R=r66a_e1(C);
r66a_r1(C,(C)->_last_expression/*97*/);
return R;
}
T0* r66get_comments(T66* C){
T0* R=NULL;
R=(C)->_last_comments/*25*/;
C->_last_comments=NULL;
return R;
}
T6 r66a_e1(T66* C){
T6 R=0;
R=r66a_e2(C);
r66a_r2(C,(C)->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.us_not*/
T6 r66a_e2(T66* C){
T6 R=0;
R=r66a_e3(C);
r66a_r3(C,(C)->_last_expression/*97*/);
return R;
}
T6 r66a_then_part(T66* C,T0* a1){
T6 R=0;
T0* _expression=NULL;
/*[IF*/
if(r66a_expression(C)){
R=1;
_expression=X53add_comment((C)->_last_expression/*97*/,r66get_comments(C));
/*[IF*/
if(!(r66a_keyword(C,((T0*)ms12_1764)))){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_14027);
r66warning(r66current_position(C1),b1);
}/*]*/
}
/*FI]*/
r210add_if_then(((T210*)a1),_expression,r66a_compound1(C));
}
/*FI]*/
return R;
}
T6 r66a_e3(T66* C){
T6 R=0;
R=r66a_e4(C);
r66a_r4(C,(C)->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.us_array*/
T6 r66a_e4(T66* C){
T6 R=0;
R=r66a_e5(C);
r66a_r5(C,(C)->_last_expression/*97*/);
return R;
}
T6 r66a_e5(T66* C){
T6 R=0;
R=r66a_e6(C);
r66a_r6(C,(C)->_last_expression/*97*/);
return R;
}
T6 r66a_e6(T66* C){
T6 R=0;
R=r66a_e7(C);
r66a_r7(C,(C)->_last_expression/*97*/);
return R;
}
void r66go_back_at(T66* C,T2 a1,T2 a2){
C->_line=a1;
C->_column=a2;
C->_current_line=r71item((C)->_line/*16*/);
/*[IF*/
if(((C)->_column/*12*/)==((((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1))){
C->_cc='\n';
}
else if(((C)->_column/*12*/)==(0)){
C->_cc='\0';
}
else{
C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
}
/*FI]*/
}
T6 r66a_e7(T66* C){
T6 R=0;
R=r66a_e8(C);
r66a_r8(C,(C)->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.last_manifest_string*/
T6 r66a_e8(T66* C){
T6 R=0;
T0* _sp=NULL;
T0* _prefix_freeop=NULL;
T0* _op=NULL;
T0* _prefix_moins=NULL;
T0* _prefix_plus=NULL;
T0* _prefix_not=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_1029))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e8(C)){
{T132*n=malloc(sizeof(*n));
*n=M132;
r132make(n,_sp,(C)->_last_expression/*97*/);
_prefix_not=(T0*)n;
}
C->_last_expression=_prefix_not;
R=1;
}
else{
r66err_exp(_sp,((T0*)ms13_1029));
}
/*FI]*/
}
else if(r66skip1(C,'\53')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e8(C)){
{T131*n=malloc(sizeof(*n));
*n=M131;
r131make(n,_sp,(C)->_last_expression/*97*/);
_prefix_plus=(T0*)n;
}
C->_last_expression=_prefix_plus;
R=1;
}
else{
r66err_exp(_sp,((T0*)ms66_7660));
}
/*FI]*/
}
else if(r66skip1(C,'\55')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e8(C)){
{T130*n=malloc(sizeof(*n));
*n=M130;
r130make(n,_sp,(C)->_last_expression/*97*/);
_prefix_moins=(T0*)n;
}
C->_last_expression=_prefix_moins;
R=1;
}
else{
r66err_exp(_sp,((T0*)ms66_7680));
}
/*FI]*/
}
else if(r66a_free_operator(C)){
_op=r96to_prefix_name((T96*)(oBC66tmp_name));
/*[IF*/
if(r66a_e8(C)){
{T126*n=malloc(sizeof(*n));
*n=M126;
r126make(n,(C)->_last_expression/*97*/,_op);
_prefix_freeop=(T0*)n;
}
C->_last_expression=_prefix_freeop;
R=1;
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms66_37044);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r66err_exp((((T129*)_op))->_start_position/*8*/,(((T129*)_op))->_to_string/*4*/);
}
/*FI]*/
}
else{
R=r66a_e9(C);
}
/*FI]*/
return R;
}
T6 r66a_e9(T66* C){
T6 R=0;
T0* _e_old=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_975))){
/*[IF*/
if(!((C)->_in_ensure/*41*/)){
r66error(r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms66_146727));
}
/*FI]*/
/*[IF*/
if(r66a_e10(C)){
{T133*n=malloc(sizeof(*n));
*n=M133;
/*[IRF3.3make*/((((T133*)(n)))->_expression)=((C)->_last_expression/*97*/);
/*]*/
_e_old=(T0*)n;
}
C->_last_expression=_e_old;
R=1;
}
else{
r66fcp(C,((T0*)ms66_64096));
}
/*FI]*/
}
else{
R=r66a_e10(C);
}
/*FI]*/
return R;
}
T6 r66a_when_part(T66* C,T0* a1){
T6 R=0;
T0* _constant=NULL;
T0* _e_when=NULL;
T2 _state=0;
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1776))){
R=1;
{T221*n=malloc(sizeof(*n));
*n=M221;
r221make(n,r66pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),r66get_comments(C));
_e_when=(T0*)n;
}
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r66a_constant(C)){
_constant=(C)->_last_expression/*97*/;
_state=1;
}
else if(r66a_keyword(C,((T0*)ms12_1764))){
/*[IF*/
if((_constant)!=((void*)(NULL))){
r221add_value(((T221*)_e_when),_constant);
}
/*FI]*/
/*[IRF3.3set_compound*/((((T221*)(((T221*)_e_when))))->_compound)=(r66a_compound1(C));
/*]*/
r220add_when(((T220*)a1),_e_when);
_state=4;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T66* C1=C;
T0* b1=((T0*)ms66_48195);
r66warning(r66current_position(C1),b1);
}/*]*/
C->_ok=r66skip1(C,'\54');
}
else{
r66fcp(C,((T0*)ms66_22423));
_state=4;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1764))){
/*[IF*/
if((_constant)!=((void*)(NULL))){
r221add_value(((T221*)_e_when),_constant);
}
/*FI]*/
/*[IRF3.3set_compound*/((((T221*)(((T221*)_e_when))))->_compound)=(r66a_compound1(C));
/*]*/
r220add_when(((T220*)a1),_e_when);
_state=4;
}
else if(r66skip2(C,'\56','\56')){
_state=2;
}
else if(r66skip1(C,'\54')){
r221add_value(((T221*)_e_when),_constant);
_constant=NULL;
_state=0;
}
else{
r66fcp(C,((T0*)ms66_22423));
_state=4;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r66a_constant(C)){
r221add_slice(((T221*)_e_when),_constant,(C)->_last_expression/*97*/);
_constant=NULL;
_state=3;
}
else{
r66fcp(C,((T0*)ms66_22423));
_state=4;
}
/*FI]*/
}
else{/*[IF*/
if(r66skip1(C,'\54')){
_state=0;
}
else if(r66a_keyword(C,((T0*)ms12_1764))){
/*[IRF3.3set_compound*/((((T221*)(((T221*)_e_when))))->_compound)=(r66a_compound1(C));
/*]*/
r220add_when(((T220*)a1),_e_when);
_state=4;
}
else if(r66a_constant(C)){
_constant=(C)->_last_expression/*97*/;
r66warning(r96start_position((T96*)(oBC66tmp_name)),((T0*)ms66_9410));
_state=1;
}
else{
r66fcp(C,((T0*)ms66_22423));
_state=4;
}
/*FI]*/
}}
}
}
/*FI]*/
return R;
}
T6 r66a_argument(T66* C){
T6 R=0;
T2 _rank=0;
/*[IF*/
if(((C)->_arguments/*49*/)!=((void*)(NULL))){
_rank=r175rank_of((T175*)((C)->_arguments/*49*/),r96to_string((T96*)(oBC66tmp_name)));
/*[IF*/
if((_rank)>(0)){
C->_last_expression=r96to_argument_name2((T96*)(oBC66tmp_name),(C)->_arguments/*49*/,_rank);
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_character*/
/*No:EIFFEL_PARSER.end_of_text*/
void r66a_r1(T66* C,T0* a1){
T0* _sp=NULL;
T0* _infix_implies=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_9513))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e1(C)){
{T100*n=malloc(sizeof(*n));
*n=M100;
r100make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_implies=(T0*)n;
}
r66a_r1(C,_infix_implies);
}
else{
r66error(_sp,((T0*)ms66_78732));
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}
void r66a_r2(T66* C,T0* a1){
T0* _sp=NULL;
T0* _infix_xor=NULL;
T0* _infix_or=NULL;
T0* _infix_or_else=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_456))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1740))){
/*[IF*/
if(r66a_e2(C)){
{T108*n=malloc(sizeof(*n));
*n=M108;
r108make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_or_else=(T0*)n;
}
r66a_r2(C,_infix_or_else);
}
else{
r66err_exp(_sp,((T0*)ms13_8316));
}
/*FI]*/
}
else{
/*[IF*/
if(r66a_e2(C)){
{T107*n=malloc(sizeof(*n));
*n=M107;
r107make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_or=(T0*)n;
}
r66a_r2(C,_infix_or);
}
else{
r66err_exp(_sp,((T0*)ms13_456));
}
/*FI]*/
}
/*FI]*/
}
else if(r66a_keyword(C,((T0*)ms13_1053a))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e2(C)){
{T106*n=malloc(sizeof(*n));
*n=M106;
r106make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_xor=(T0*)n;
}
r66a_r2(C,_infix_xor);
}
else{
r66err_exp(_sp,((T0*)ms13_1053a));
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}
void r66a_r3(T66* C,T0* a1){
T0* _sp=NULL;
T0* _infix_and=NULL;
T0* _infix_and_then=NULL;
/*[IF*/
if(r66a_keyword(C,((T0*)ms13_939))){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_keyword(C,((T0*)ms12_1764))){
/*[IF*/
if(r66a_e3(C)){
{T110*n=malloc(sizeof(*n));
*n=M110;
r110make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_and_then=(T0*)n;
}
r66a_r3(C,_infix_and_then);
}
else{
r66err_exp(_sp,((T0*)ms13_10800));
}
/*FI]*/
}
else{
/*[IF*/
if(r66a_e3(C)){
{T109*n=malloc(sizeof(*n));
*n=M109;
r109make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_and=(T0*)n;
}
r66a_r3(C,_infix_and);
}
else{
r66err_exp(_sp,((T0*)ms13_939));
}
/*FI]*/
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}
void r66a_r4(T66* C,T0* a1){
T0* _sp=NULL;
T0* _infix_gt=NULL;
T0* _infix_ge=NULL;
T0* _infix_lt=NULL;
T0* _infix_le=NULL;
T0* _infix_neq=NULL;
T0* _infix_eq=NULL;
/*[IF*/
if(r66skip1(C,'\75')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e4(C)){
{T117*n=malloc(sizeof(*n));
*n=M117;
r117make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_eq=(T0*)n;
}
r66a_r4(C,_infix_eq);
}
else{
r66err_exp(_sp,((T0*)ms13_62));
}
/*FI]*/
}
else if(r66skip2(C,'\57','\75')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e4(C)){
{T115*n=malloc(sizeof(*n));
*n=M115;
r115make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_neq=(T0*)n;
}
r66a_r4(C,_infix_neq);
}
else{
r66err_exp(_sp,((T0*)ms13_222));
}
/*FI]*/
}
else if(r66skip2(C,'\74','\75')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e4(C)){
{T114*n=malloc(sizeof(*n));
*n=M114;
r114make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_le=(T0*)n;
}
r66a_r4(C,_infix_le);
}
else{
r66err_exp(_sp,((T0*)ms13_248));
}
/*FI]*/
}
else if(r66skip2(C,'\76','\75')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e4(C)){
{T112*n=malloc(sizeof(*n));
*n=M112;
r112make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_ge=(T0*)n;
}
r66a_r4(C,_infix_ge);
}
else{
r66err_exp(_sp,((T0*)ms13_252));
}
/*FI]*/
}
else if(r66skip1(C,'\74')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e4(C)){
{T113*n=malloc(sizeof(*n));
*n=M113;
r113make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_lt=(T0*)n;
}
r66a_r4(C,_infix_lt);
}
else{
r66err_exp(_sp,((T0*)ms13_61));
}
/*FI]*/
}
else if(r66skip1unless2(C,'\76','\76')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e4(C)){
{T111*n=malloc(sizeof(*n));
*n=M111;
r111make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_gt=(T0*)n;
}
r66a_r4(C,_infix_gt);
}
else{
r66err_exp(_sp,((T0*)ms13_63));
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}
void r66a_r5(T66* C,T0* a1){
T0* _sp=NULL;
T0* _infix_minus=NULL;
T0* _infix_plus=NULL;
/*[IF*/
if(r66skip1(C,'\53')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e5(C)){
{T119*n=malloc(sizeof(*n));
*n=M119;
r119make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_plus=(T0*)n;
}
r66a_r5(C,_infix_plus);
}
else{
r66err_exp(_sp,((T0*)ms13_44));
}
/*FI]*/
}
else if(r66skip1(C,'\55')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e5(C)){
{T118*n=malloc(sizeof(*n));
*n=M118;
r118make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_minus=(T0*)n;
}
r66a_r5(C,_infix_minus);
}
else{
r66err_exp(_sp,((T0*)ms13_46));
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}